Wer mir ein Beispiel zu verwenden, QVector::QVector(std::initializer_list<T> args)?
Jemand mir ein Beispiel an, verwenden Sie den folgenden Konstruktor int Qt?
QVector::QVector(std::initializer_list<T> args);
Du musst angemeldet sein, um einen Kommentar abzugeben.
Einen Konstruktor, eine
std::initializer_list
berücksichtigt werden, wenn Sie verwenden, Liste-Initialisierung. Das ist eine Initialisierung, die durch einen verspannten Initialisierungs-Liste:Beachten Sie, dass dies ist ein C++11 feature. In der Tat, die erste syntax ist neu in C++11 ist, während die zweite verwendet wurden, könnte in C++03 für Aggregat-Initialisierung.
Können Sie auch direkt-Initialisierung und übergeben Sie die Initialisierungsliste als argument:
Da der Konstruktor nicht
explicit
es kann auch verwendet werden, in einige andere interessante Möglichkeiten:Übergabe eines
QVector
argument:Rückkehr eine
QVector
:§8.5.4 List-initialization [dcl.init.Liste]:
§13.3.1.7 Initialisierung von list-initialization [über.match.Liste]:
Fun(QVector<int>)
, können es nennen, wieFun( QVector<int>{1,2} )
? Danke.QVector
ist nichtexplicit
, so können Sie das auchFun({1, 2, 3})
.QVector<int> v{1, 2, 3, 4, 5}
selbst brauchen nicht()
wieQVector<int> v({1, 2, 3, 4, 5})
. Wenn ich "hinzufügen" (), ich denke, es sollte auch funktioniert. Richtig?