Метод 1:
Код: Выделить всё
void foo() {
std::vector< int > aVector;
for ( int i = 0; i < 1000000; ++i ) {
aVector.clear();
aVector.push_back( i );
}
}
Код: Выделить всё
void foo() {
for ( int i = 0; i < 1000000; ++i ) {
std::vector< int > aVector;
aVector.push_back( i );
}
}
"создать вектор один раз и очистить его для использования"
или
"каждый раз создавать новый вектор"
ОБНОВЛЕНИЕ
Спасибо за предложения, я протестировал оба варианта и вот результаты
Метод 1:
Код: Выделить всё
$ time ./test1
real 0m0.044s
user 0m0.042s
sys 0m0.002s
Код: Выделить всё
$ time ./test2
real 0m0.601s
user 0m0.599s
sys 0m0.002s

Подробнее здесь: https://stackoverflow.com/questions/191 ... -is-faster