У меня есть код, в котором я обычно заполняю вектор между 0 и 5000 элементами. Я знаю, что максимум не превышает 5000. Вместо инициализации вектора несколько раз, я хотел бы сделать только один разC++ быстрый способ очистки или стирания вектора
vector<struct> myvector;
myvector.reserve(5000);
Однако, чтобы заполнить вектор снова, я должен очистить вектор первый, не изменяя его емкость. Поэтому обычно я вызываю myvector.clear();
Это операция O (n). Есть ли что-то простое, что я могу сделать, чтобы повысить производительность этого или это самое лучшее, что он получит?
Назначает ли существующие элементы разумное решение? –
Нет, потому что у меня может быть 5000 элементов в первый раз и 3500 в следующий раз, и в конце будет 1500 старых элементов ... – user788171
Является ли «разрушение» элементов проблемой? –