Mam pytanie dotyczące wydajności std :: vector <> w C++. Czy szybsze jest ponowne użycie tego samego wektora przez wywołanie metody clear() lub szybsze odtworzenie wektora?co jest szybsze: odtworzyć lub wyczyścić()?
Poniższy przykład ma prawdziwy kod życie, to tylko do tworzenia jasne, co jest pytanie:
//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);
}
}
Czy te rzeczy nie są zależne od implementacji? –
Profiluj to. Boooooring! –
Dlaczego wszystkie spadki? – Daniel