Ich habe ein Problem mit dem folgenden Code:Wie initialisiert man eine Liste der Werte von std :: vector in C++ 11?
const std::vector <std::string> arr1 = { "a", "b", "c" };
const std::vector <std::string> arr2 = { "e", "f", "g" };
const std::vector <std::string> globaArr = { arr1, arr2 }; // error
Ich brauche globalArr mit Werten initialisiert werden: "a", "b", "c", "e", "f", "g" (in einer Dimension). Ich brauche keine zweidimensionale Anordnung. Was mache ich falsch?
Ich kann etwas tun:
globalArr.push_back(arr1); // with the for loop inserting each value of arr1
globalArr.push_back(arr2);
aber hier ist die globalArr const nicht mehr :) Ich brauche die gleiche Art für alle drei Vektoren.
warum Sie a, b, c, d, e, f Stecken Sie nicht nur zu schreiben , g in globalArr ?? Warum verschwenden Sie Platz, indem Sie in zwei separate Vektoren einfügen und zurück in globalArr einfügen? – Bthegreatest
@Bthegreatest - weil es sehr unangenehm ist, wenn ich Werte von arr1 oder arr2 manchmal ändere und vergiss, die gleichen Werte in globalArr zu ändern. – JavaRunner
@JavaRunner, also wollen Sie 'globalArr' mit den Werten innerhalb' arr1' und 'arr2' initialisieren? – Alejandro