C ++ самый быстрый способ очистить или стереть вектор

У меня есть код, где я обычно заполняю вектор от 0 до 5000 элементов. Я знаю, что максимум никогда не превышает 5000. Вместо того, чтобы инициализировать вектор несколько раз, я хотел бы сделать только один раз

vector<struct> myvector;
myvector.reserve(5000);

Однако, чтобы снова заполнить вектор, мне нужно сначала очистить вектор, не меняя его емкости. Поэтому обычно я вызываю myvector.clear ();

Это операция O (n). Есть ли что-то простое, что я могу сделать, чтобы повысить производительность этого или это лучшее из того, что он получит?

Ответы на вопрос(3)

Ваш ответ на вопрос