std::vector mit einem std::array befüllen.



  • Hallo,

    ich möchte ein array ohne eine schleife in einen vector überführen. Irgendwie kriege ich es nicht mit der Syntax gebacken. Wollte zuerst das:

    std::vector<class_a> vec_a;
    vec.insert( arr_a.begin() , arr_a.end() );
    

    Hat nicht geklappt, obwohl die Datentypen gleich sind. Dann bin ich auf std::generate gekommen :

    std::generate( begin(vec_a) , end(vec_a) , [](){ return class_a( ?? was kommt hier rein ?? ); } );
    

    Hier kriege ich es nicht mit der Syntax hin.

    Weiß Jemand einen Rat?
    Danke.



  • std::vector<class_a> vec_a;
    vec.assign( arr_a.begin() , arr_a.end() );
    //oder gleich
    std::vector<class_a> vec_a(arr_a.begin() , arr_a.end());
    


  • Tachyon schrieb:

    std::vector<class_a> vec_a;
    vec.assign( arr_a.begin() , arr_a.end() );
    //oder gleich
    std::vector<class_a> vec_a(arr_a.begin() , arr_a.end());
    

    supi, die erste Zeile ist exakt wonach ich gesucht habe, danke!


Anmelden zum Antworten