Ist es in Ordnung, einen 2D-Vektor auf diese Weise zu initialisieren (hier alle Werte in einem 5x4 2D-Vektor sind auf 3 initialisiert)?
std::vector<std::vector<int> > foo(5, std::vector<int>(4, 3));
Dies scheint sich gut zu verhalten, aber überall, wo ich im Web nachsehe, scheinen die Leute zu empfehlen, einen solchen Vektor mit for-Schleifen und push_back() zu initialisieren. Ich hatte anfangs die Befürchtung, dass alle Zeilen hier auf denselben Vektor zeigen würden, aber das scheint nicht der Fall zu sein. Übersehe ich etwas?