Po prostu zaczynam uczyć się języka C++, więc przepraszam za to proste pytanie. Co robię, to czytanie liczb z pliku, a następnie próby dodania ich do tablicy. Mój problem polega na tym, jak zwiększyć rozmiar tablicy? Na przykład ja, że może być w stanie po prostu zrobić:Dynamic 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;
}
Ale to oczywiście tylko nadpisuje wartość, 5, że początkowo ustawione na X [0], a więc generuje 0,6. Jak mam to zrobić, aby uzyskać wynik 5,6?
Proszę zdać sobie sprawę, że na przykład, który zamieściłem, nie chciałem zaśmiecać go odczytem kodu z pliku lub kodu, aby uzyskać liczby od użytkownika. W aktualnym zgłoszeniu nie będę wiedział, jak dużą część tablicy potrzebuję w czasie kompilacji, więc proszę, nie mów mi, żebym po prostu tworzył tablicę z dwoma elementami i ustawiał je odpowiednio na 5 i 6.
Dzięki za pomoc.
Musisz być ostrożny z wektorami, ale są one dość powolne w użyciu. – Huppie
Powolne jest względne. tzn. profiluj swój program i zobacz, czy ma to wpływ na rzeczy. Jeśli tak, napisz niestandardowy alokator, zoptymalizowany do alokowania dubletów (i obiektów o rozmiarze 'sizeof (double)'). –
To nie będzie wolniejsze niż zmiana rozmiaru za pomocą nowych, usuwania i kopiowania. –