Ho una domanda sulle prestazioni dello std :: vector <> in C++. È più veloce riutilizzare lo stesso vettore chiamando il suo metodo clear() o è più veloce ricreare il vettore?cos'è più veloce: ricrea o clear()?
L'esempio che segue un codice di vita reale, è solo per fare chiaro quale sia la domanda è:
//Example ONE: is this faster
std::vector<int> foo;
for(int i = 0; i < 100; ++i)
{
foo.clear();
for(int j = 0; j < 100; ++j)
{
foo.push_back(i+j);
}
}
//Example TWO: or is that faster?
for(int i = 0; i < 100; ++i)
{
std::vector<int> foo;
for(int j = 0; j < 100; ++j)
{
foo.push_back(i+j);
}
}
Le cose non dipendono dall'implementazione? –
Profile it. Boooooring! –
Perché tutti i downvotes? – Daniel