Wie wir initialisieren std::vector in einer Klasse-Konstruktor in C++?

Wie wir initialisieren std::vector in einer Klasse-Konstruktor in c++?

class MyClass
{
public:
    MyClass( int p_Var1, int* p_Vector ) : Var1( p_Var1 ) //, Initialize std::vector - MyVector with p_Vector
    {
    };
    ~MyClass( void );
private:
    int Var1;
    std::vector< int > MyVector;
};
Ich welche Weise, wollen Sie initialisieren Ihre std::vector? (Welche spezifischen form der Konstruktoren, die Sie verwenden möchten?)
Es hängt davon ab. Was meinst du mit "initialisieren"? Gegen welche version von C++ - standard sind Sie mit der Arbeit?
Garcia mit int* p_Vector
Wenn Sie kopieren möchten p_Vector verwenden Sie einfach vector's copy-Konstruktor ) : myVector(*p_Vector)
p_Vector ist nicht ein Zeiger auf einen Vektor, sondern einen Zeiger auf das erste element eines C-Stil-array. (Ich nehme an.) : myVector( *p_Vector ) erstellt einen Vektor, dessen Größe wird bestimmt, indem die erste int im array mit 0 initialisiert.

InformationsquelleAutor CLearner | 2013-02-27

Schreibe einen Kommentar