Dlaczego ten kod zapisuje nieokreśloną liczbę pozornie niezainicjowanych liczb całkowitych?
#include <iostream>
#include <vector>
using namespace std;
int main()
{
for (int i : vector<vector<int>>{{77, 777, 7777}}[0])
cout << i << ' ';
}
Spodziewałem się, że wynik będzie 77 777 7777.
Czy ten kod ma być niezdefiniowany?
using std::vectorzamiastusing namespace std;, aby zapobiec rozprzestrzenianiu się tej złej praktyki.