Betrachten Sie den folgenden Code ein:Ist der Wert von primitiven Typen in std :: map initialisiert?
map<int,int> m;
for(int i=0;i<10000;++i) m[i]++;
for(int i=0;i<10000;++i) printf("%d",m[i]);
Ich dachte, die die gedruckten Werte nicht definiert werden würde, weil primitive Typen nicht Standardkonstruktor haben, aber hier habe ich 10000 1s jedes Mal, wenn ich getestet.
Warum wird es initialisiert?
0 ist ein zulässiger Wert für nicht definierte Variablen. –