Vector in Array umwandeln
-
Die erinnerung schrieb:
Ja ne, ich will ja nach und nach Daten rein schreiben...
Deshalb habe ich Vector genommen, da meines Wissens sich ein std::Array nicht erweitern lässt. Und falls das doch gehen sollte, ich bin mit Vector ganz zufrieden...
Dann ist vector schon richtig.
-
Die erinnerung schrieb:
krümelkacker schrieb:
Nö, dem ist auch nicht so; denn std::vector speichert den Kram indirekt.
Wenn ich das vorher gewusst hätte, aber man lernt eben täglich dazu...
Auch ohne die Implementierung von std::vector zu kennen, ergibt sich das schon daraus, dass sizeof grundsätzlich eine zur Kompilierzeit bekannte Konstante liefert (von VLAs mal abgesehen, aber die gehören auch nicht zu Standard-C++).
-
Athar schrieb:
Auch ohne die Implementierung von std::vector zu kennen, ergibt sich das schon daraus, dass sizeof grundsätzlich eine zur Kompilierzeit bekannte Konstante liefert
Das wäre mir neu...
-
-
Ok. Wie ja gesagt ist mir neu. ich dachte, bis her immer, dass das in Runtime-Operator ist, da sich unter umständen die Größe eines Objekts ändern kann...
-
Die erinnerung schrieb:
[...] da sich unter umständen die Größe eines Objekts ändern kann...
Unter welchen Umständen könnte das passieren?
-
Ich dachte es wäre möglich. Z.B.: Vector, aber wie ich jetzt weiß, ändert der seine Größe nicht. Wie ja gesagt, ich dachte...
-
Die erinnerung schrieb:
Ich dachte es wäre möglich. Z.B.: Vector, aber wie ich jetzt weiß, ändert der seine Größe nicht. Wie ja gesagt, ich dachte...
Gehen wir mal zu C:
int *ptr; sizeof(ptr); // Meistens 4 oder 8 ptr = malloc(1000000); sizeof(ptr); // Immer noch 4 oder 8
Nun klar?