У меня есть игра, в которой определенные игровые объекты появляются сразу, а затем исчезают, когда их уничтожают/убивают. Игровые объекты являются элементами в std::vector, и я хотел бы свести к минимуму использование памяти. Я привык к трюку подкачки,
std::vector<gameObject>(gameObjectVector.begin(), gameObjectVector.end()).swap(gameObjectVector);
но я заметил встроенный shrink_to_fit() из С++ 11. Однако он имеет линейную сложность, в то время как своп-трюк является постоянным. Разве своп-трюк не превосходит всех?