Ich kann identische Ausgabe erreichen, indem Sie verschiedene Container in C++ verwenden. Beispielsweise . .Welcher Typ wird automatisch für Container verwendet?
std::array<int, 5> v = {1,2,3,4,5};
for(auto i : v)
std::cout << i << ", ";
oder
std::vector<int> v = {1,2,3,4,5};
oder
int v[] = {1,2,3,4,5};
etc. .
Also, welcher Container benutzt auto
hier?
auto v = {1,2,3,4,5};
for(auto i : v)
std::cout << i << ", ";
'<< TYPE_DESC (v); auto v = {1,2,3,4,5}; '/' lvalue initializer_list 'Richtig. +1 –
Zwei kleine Bemerkungen: Streng genommen ist 'initializer_list' kein Container im Sinne des Standards. Ihr Beispiel funktioniert, weil der Standard für Aussagen dieses Formulars explizit Entfernungs-basiert definiert. Auf den ersten Blick gibt es keine Entität vom Typ 'initializer_list'. Ein solches Objekt wird implizit eingeführt, also müssen Sie '' einschließen, aber Sie können es nicht "sehen". –
MWid