Tag: initializer-list

std::initializer_list ist ein spezieller Typ, der in C++11 verwendet, zum erstellen von Containern und anderen Arten aus einer Liste von Werten des gleichen Typs. Kann implementiert werden als ein paar von Zeiger oder Zeiger und die Länge, und sein Speicher kann die automatische, temporäre oder statische nur-Lesen.

Initialisieren struct Vektor mit Klammer eingeschlossenen Initialisierungsliste

Anzahl der Antworten 3 Antworten
Initialisiere ich normal-Typ-Vektoren wie diese: vector<float> data = {0.0f, 0.0f}; Aber wenn ich-Struktur anstelle der normal-Typ struct Vertex { float position[3]; float color[4]; }; vector<Vertex> data = {{0.0f, 0.0f, 0.0f}, {0.0f, 0.0f, 0.0f, 0.0f}}; Bekomme ich Fehler

C++: Sollte ich initialisieren Zeiger-Mitglieder zugeordnet sind, die im Konstruktor Körper auf NULL?

Anzahl der Antworten 3 Antworten
Angenommen ich habe: //MyClass.h class MyClass { public: MyClass(); private: Something *something_; } //MyClass.cpp MyClass::MyClass() { something_ = new Something(); } Sollte ich initialisieren something_ auf NULL (oder 0) im Konstruktor mit Initialisierungsliste den Konstruktor MyClass? Oder

C++0x Initialisierungsliste Beispiel

Anzahl der Antworten 2 Antworten
Ich würde gerne sehen, wie dieses Beispiel der vorhandene code in der Lage wäre, um die Vorteile der C++0x-Initialisierer-Liste-Funktion. Example0: #include <vector> #include <string> struct Ask { std::string prompt; Ask(std::string a_prompt):prompt(a_prompt){} }; struct AskString : public Ask{

Warum variadic Argumente jetzt bei der Initialisierer-Listen stehen zur Verfügung?

Anzahl der Antworten 2 Antworten
Ich hab mich schon gewundert, was sind die Vorteile von variadischen Argumente über Initialisierer-Listen. Beide bieten die gleichen Fähigkeiten - pass unbestimmte Anzahl von Argumenten an eine Funktion. Was ich persönlich denke ist Initialisierer-Listen sind ein wenig

Initialisierungsliste in einem Bereich for-Schleife

Anzahl der Antworten 2 Antworten
Habe ich Objekte von verschiedenen Typen, die aus einem einzigen super-Typ. Ich Frage mich, ob es irgendwelche Nachteile bei der Verwendung std::initializer Liste in einem Bereich for-Schleife wie diese: for(auto object: std::initializer_list<Object *>{object1, object2, object3}) { }

Wer mir ein Beispiel zu verwenden, QVector::QVector(std::initializer_list<T> args)?

Anzahl der Antworten 1 Antworten
Jemand mir ein Beispiel an, verwenden Sie den folgenden Konstruktor int Qt? QVector::QVector(std::initializer_list<T> args); InformationsquelleAutor user1899020 | 2013-03-26

initializer_list und move-Semantik

Anzahl der Antworten 6 Antworten
Bin ich erlaubt, sich zu bewegen, Elemente aus einem std::initializer_list<T>? #include <initializer_list> #include <utility> template<typename T> void foo(std::initializer_list<T> list) { for (auto it = list.begin(); it != list.end(); ++it) { bar(std::move(*it)); //kosher? } } Seit std::intializer_list<T> erfordert

Aufruf initializer_list Konstruktor über make_unique/make_shared

Anzahl der Antworten 2 Antworten
Ich versuche zu verwenden std::make_unique instantiieren einer Klasse, deren Konstruktor erhalten, der eine std::initializer_list. Hier ein minimal-Fall : #include <string> #include <vector> #include <initializer_list> #include <memory> struct Foo { Foo(std::initializer_list<std::string> strings) : strings(strings) {} std::vector<std::string> strings; };

Klammer eingeschlossenen Initialisierungsliste Konstruktor

Anzahl der Antworten 3 Antworten
Ich habe Klasse Phänotyp mit den folgenden Konstruktor: Phenotype(uint8 init[NUM_ITEMS]); Ich kann ein Phänotyp wie diese: uint8 data = {0,0,0,0,0}; Phenotype p(data); Aber ich erhalte eine Fehlermeldung, wenn ich versuche, eines zu erstellen, wie diese: Phenotype p

Verwenden Sie die brace-enclosed-Initialisierung?

Anzahl der Antworten 3 Antworten
In C++11 haben wir, dass die neue syntax für die Initialisierung von Klassen, die gibt uns eine große Anzahl von Möglichkeiten, wie Sie Variablen initialisieren. { //Example 1 int b(1); int a{1}; int c = 1; int

so ordnen Sie ein array von einer Initialisierer-Liste

Anzahl der Antworten 1 Antworten
Ich habe ein begrenztes wissen über c++. Ich habe versucht zu kompilieren c++ Bibliothek und wenn ich das make-file für die folgenden header-Datei mcmc_dhs.h #include <algorithm> #include <map> //intrinsic shape and (reduced) shear just add? //#define WLNOISE

Kann ich die Liste initialisieren einen Vektor verschieben-nur eine Art?

Anzahl der Antworten 5 Antworten
Wenn ich übergeben Sie den folgenden code durch mein GCC 4.7 Momentaufnahme, es versucht zu kopieren, die unique_ptrs in den Vektor. #include <vector> #include <memory> int main() { using move_only = std::unique_ptr<int>; std::vector<move_only> v { move_only(), move_only(),

error C2440: 'initializing' : cannot convert from 'Initialisierer-Liste'

Anzahl der Antworten 2 Antworten
#include<iostream> using namespace std; struct TDate { int day, month, year; void Readfromkb() { cout << "\n ENTER DAY MONTH YEAR\n"; cin >> day >> month >> year; } void print() { cout << day << month

std::unique_ptr die Funktion gelöscht, initializer_list - driven-Zuordnung

Anzahl der Antworten 2 Antworten
Alle, Wenn ich die Instanzierung eines widgets array mit einer Initialisierer-Liste format eine Nackte Zeiger, der zeigt auf eine member-variable widget-Instanz kompiliert, aber nach dem Wechsel zu std::unique_ptr<> gcc gibt einen Kompilierungsfehler in Bezug auf eine gelöschte

Initialisierer-Liste für Objekte mit default-Konstruktor

Anzahl der Antworten 4 Antworten
Gibt es keinen nutzen für die Umsetzung eine Klasse member-variable in einer Initialisierer-Liste, die nicht in einer Initialisierer-Liste? Beispiel: class Foo { public: Foo() {} }; class Bar { public: Bar() : _foo() {} private: Foo _foo;

Warum ist dies als eine erweiterte Initialisierungsliste?

Anzahl der Antworten 2 Antworten
#include <vector> struct foo { int i; int j; int k; }; int main() { std::vector<foo> v(1); v[0] = {0, 0, 0}; return 0; } Beim kompilieren mit g++, bekomme ich die folgende Warnung: Warnung: erweiterte Initialisierer-Listen

std::initializer_list als Funktion argument

Anzahl der Antworten 5 Antworten
Aus irgendeinem Grund dachte ich C++0x erlaubt std::initializer_list als Funktions-argument für die Funktionen, die erwarten, dass Arten, die von konstruiert werden kann, wie zum Beispiel std::vector. Aber anscheinend, funktioniert es nicht. Ist das nur mein compiler, oder

Initialisieren einer Konstanten array-Größe in einer Initialisierer-Liste

Anzahl der Antworten 3 Antworten
Habe ich eine situation, die zusammengefasst werden können in die folgenden: class Test { Test(); int MySet[10]; }; ist es möglich, zu initialisieren MySet in einer Initialisierer-Liste? Mag diese Art von Initialisierungsliste: Test::Test() : MySet({1, 2, 3,

std::shared_ptr und Initialisierer-Listen

Anzahl der Antworten 3 Antworten
Std::shared_ptr Konstruktor ist nicht Verhalten, als ich erwartet hatte: #include <iostream> #include <vector> void func(std::vector<std::string> strings) { for (auto const& string : strings) { std::cout << string << '\n'; } } struct Func { Func(std::vector<std::string> strings) {

Tupelvektor und Initialisiererliste

Anzahl der Antworten 3 Antworten
Habe ich versucht zu kompilieren, den folgenden Schnipsel mit gcc4.7 vector<pair<int,char> > vp = {{1,'a'},{2,'b'}}; //For pair vector, it works like a charm. vector<tuple<int,double,char> > vt = {{1,0.1,'a'},{2,4.2,'b'}}; Jedoch für den Vektor von Tupeln, der compiler beschwert

C Fehler kompiliert: „Variable-sized Objekt kann nicht initialisiert werden“

Anzahl der Antworten 8 Antworten
Warum erhalte ich die Fehlermeldung "Variable-sized-Objekt kann nicht initialisiert werden" durch den folgenden code? int boardAux[length][length] = {{0}}; InformationsquelleAutor der Frage helloWorld | 2010-06-21

Kann ich einen STL-Vektor mit 10 derselben Ganzzahl in einer Initialisierungsliste initialisieren?

Anzahl der Antworten 6 Antworten
Kann ich initialisieren STL-Vektor mit 10 der gleiche integer in einer Initialisierer-Liste? Meine versuche haben bisher fehlgeschlagen mich. InformationsquelleAutor der Frage Xavier | 2012-04-19

Wann sollte der Initiator mit geschweiften Klammern verwendet werden?

Anzahl der Antworten 3 Antworten
In C++11 haben wir, dass die neue syntax für die Initialisierung von Klassen, die gibt uns eine große Anzahl von Möglichkeiten, wie Sie Variablen initialisieren. { //Example 1 int b(1); int a{1}; int c = 1; int

Wie initialisiere ich ein Member-Array mit einer Initialisiererliste?

Anzahl der Antworten 7 Antworten
Ich bin immer bis zu Geschwindigkeit, mit C++0x und testen Dinge aus, die mit g++ 4.6 Ich habe gerade versucht den folgenden code, dachte, es würde funktionieren, aber es wird nicht kompiliert. Ich bekomme die Fehlermeldung: incompatible

C ++ Vektor von Arrays

Anzahl der Antworten 2 Antworten
Warum funktioniert das: std::pair<int, int> p = {1,2}; std::vector<std::pair<int, int>> vp = { {1,2}, {3,4} }; Aber nicht? std::array<int, 2> a = {1,2}; //still ok std::vector<std::array<int, 2>> va = { {1,2}, {3,4} }; Verwendung von g++ 4.5.1

Warum variadic Argumente jetzt verwenden, wenn Initialisierungslisten verfügbar sind?

Anzahl der Antworten 2 Antworten
Ich hab mich schon gewundert, was sind die Vorteile von variadischen Argumente über Initialisierer-Listen. Beide bieten die gleichen Fähigkeiten - pass unbestimmte Anzahl von Argumenten an eine Funktion. Was ich persönlich denke ist Initialisierer-Listen sind ein wenig

Kann ich einen Vektor vom Nur-Bewegungstyp initialisieren?

Anzahl der Antworten 5 Antworten
Wenn ich übergeben Sie den folgenden code durch mein GCC 4.7 Momentaufnahme, es versucht zu kopieren, die unique_ptrs in den Vektor. #include <vector> #include <memory> int main() { using move_only = std::unique_ptr<int>; std::vector<move_only> v { move_only(), move_only(),

Konvertiere einen Vektor & lt; T & gt; zu initialisierer_liste & lt; T & gt;

Anzahl der Antworten 6 Antworten
Jeder schafft std::vector aus std::initializer_listaber was ist mit den anderen zurecht? zB. wenn Sie eine std::initializer_list als parameter: void someThing(std::initializer_list<int> items) { ... } Es gibt Zeiten, wenn Sie haben Ihre Elemente in einem vector<T> anstelle von

Klammern eingeschlossener Initialisiererlistenkonstruktor

Anzahl der Antworten 3 Antworten
Ich habe Klasse Phänotyp mit den folgenden Konstruktor: Phenotype(uint8 init[NUM_ITEMS]); Ich kann ein Phänotyp wie diese: uint8 data = {0,0,0,0,0}; Phenotype p(data); Aber ich erhalte eine Fehlermeldung, wenn ich versuche, eines zu erstellen, wie diese: Phenotype p

Initialisieren eines Elementarrays im Konstruktorinitialisierer

Anzahl der Antworten 6 Antworten
class C { public: C() : arr({1,2,3}) //doesn't compile {} /* C() : arr{1,2,3} //doesn't compile either {} */ private: int arr[3]; }; Ich glaube, der Grund ist, dass arrays können initialisiert werden, nur mit = syntax:

Wie sieht eine erweiterte Initialisierungsliste für std :: map aus?

Anzahl der Antworten 1 Antworten
Wenn es überhaupt existiert, was wäre ein std::map erweitert Initialisierungsliste Aussehen? Ich habe versucht einige Kombinationen... naja, alles, was ich denken konnte, mit GCC-4.4, aber nichts gefunden, zusammengestellt. InformationsquelleAutor der Frage rubenvb | 2010-07-14