Zum BeispielVektor <bool> arr Reset-Ausgabe
vector<bool> arr(10);
arr[0]=true;
Und dann möchte ich den Vektor zurücksetzen. So ,
arr.clear();
Ich erwarte, dass Vektor mit allen Elementen Null, da Falsch Null ist.
printf("%d", arr[0]);
Aber Ergebnis num> 0;
Sogar der Wert vor dem Löschen ist derselbe wie der Wert nach dem Löschen!
Was ist passiert?
// Test Code
vector<bool> arr(101);
arr[1] = true;
printf("Before Value : %d\n", arr[1]);
arr.clear();
printf("Result : %d\n", arr[1]);
// Test Code
vector<bool> arr(101);
printf("asdf : %d\n", arr.size());
// Test Code
arr[1] = true;
printf("Before Value and size : %d, %d\n", arr[1], arr.size());
arr.clear();
printf("Result and size : %d, %d\n", arr[1], arr.size());
// Test Code
* "Ich erwarte Vektor mit allen Elementen Null, weil False Null ist." * - Warum erwartest du das? Es gibt Dokumentation, Sie sollten nicht raten, was ein Stück API tut. – StoryTeller
Siehe: http://en.cppreference.com/w/cpp/container/vector/clear – Shubham