Ich fange gerade an, C++ zu lernen, also entschuldige mich für diese einfache Frage. Ich lese Zahlen aus einer Datei ein und versuche dann, sie zu einem Array hinzuzufügen. Mein Problem ist, wie erhöhen Sie die Größe des Arrays? Zum Beispiel dachte, ich könnte nur tun können: einfach überschreibt den Wert, 5, dass ich anfangs auf x [0] und so gibt 0,6Dynamische Arrays
#include <iostream>
using namespace std;
int main() {
double *x;
x = new double[1];
x[0]=5;
x = new double[1];
x[1]=6;
cout << x[0] << "," << x[1] << endl;
return 0;
}
Aber dies offensichtlich. Wie würde ich es so machen, dass es 5,6 ausgeben würde?
Bitte beachten Sie, dass ich für das Beispiel, das ich eingefügt habe, wollte ich nicht mit dem Code aus einer Datei oder Code zu lesen, um die Zahlen von einem Benutzer zu bekommen. In der eigentlichen Anwendung weiß ich nicht, wie groß ein Array ist, das ich zur Kompilierzeit benötige, also bitte sage mir nicht, dass ich nur ein Array mit zwei Elementen erstellen soll und setze sie jeweils auf 5 und 6.
Danke für Ihre Hilfe.
Sie müssen vorsichtig mit Vektor sein, aber sie neigen dazu, ziemlich langsam in der Verwendung sein. – Huppie
Langsam ist relativ. Das heißt, profilieren Sie Ihr Programm und sehen Sie, ob es sich auf die Dinge auswirkt. Wenn dies der Fall ist, schreiben Sie einen benutzerdefinierten Zuordner, der für die Zuweisung von Doubles (und Objekten der Größe 'sizeof (double)') optimiert ist. –
Es wird nicht langsamer als das Ändern der Größe mit neuen, löschen und kopieren. –