Sto pre-allocando un po 'di memoria alla mia vector
variabile membro. Di seguito il codice è una parte minima
class A {
vector<string> t_Names;
public:
A () : t_Names(1000) {}
};
Ora a un certo punto del tempo, se t_Names.size()
uguale 1000
. Ho intenzione di aumentare le dimensioni di 100
. Quindi se raggiunge 1100
, aumenta di nuovo di 100
così via.
La mia domanda è: cosa scegliere tra vector::resize()
e vector::reserve()
. C'è qualche scelta migliore in questo tipo di scenario?
Modifica : ho una sorta di stima precisa per il t_Names
. Stimo che sia intorno 700
a 800
. Tuttavia, in alcune (raramente) situazioni, può crescere di più 1000
.
std::vector
.