initializer liste convertiern
-
Hi,
struct Foo { int val; Foo(int v): val(v){} }; std::vector<int> iv = {1,2,3}; std::vector<Foo> fv = iv ; // kann man das eröglichenis das möglich oder muss ich
for(auto& i : iv) fv.emplace_back(i)
machen
-
std::vector<Foo> fv(iv.begin(), iv.end());
-
EinName schrieb:
std::vector<Foo> fv(iv.begin(), iv.end());
Oder ohne den unnötigen temporären Vektor, falls der tatsächlich nur wegen der fälschlichen Annahme existiert, es ginge nicht direkt:
struct Foo { int val; Foo(int v): val(v){} }; std::vector<Foo> fv{1,2,3};
-
danke EinName!
(der temporäre vector exestiert so natürlich nur im verkürzten Bespiel, in wirklichkeit kommt der, zwar temporär, als return value)