Warum sind diese Vektoren nicht gleich?

8

Ich habe zwei Vektoren erstellt und den anderen mit push_back und den anderen mit Indizes gefüllt. Ich würde erwarten, dass diese gleich sind, aber das sind sie nicht. Kann mir jemand erklären, warum das ist?

%Vor%     
Akseli Koskinen 14.12.2014, 18:05
quelle

1 Antwort

8
%Vor%

Dies ist wahrscheinlich ein undefiniertes Verhalten (obwohl nicht sicher, ob es von der Implementierung abhängig ist).

Sie können operator[] nicht zum Auffüllen des Vektors verwenden, da dieser den Verweis auf das zugrunde liegende Objekt zurückgibt, das in Ihrem Fall nichts anderes ist als ein Bündel von Bits.

Sie sollten entweder push_back() ODER nur resize Ihren Vektor verwenden. Letztere verwenden: -

%Vor%     
ravi 14.12.2014, 18:13
quelle

Tags und Links