Здравствуйте, Аноним, Вы писали:
А>А что мешает хранить указатели на объекты и их swap-ать? Да и копируются указатели довольно эффективно
Нужно выделять память, не забывать освобождать ее, да еще следить, чтобы указатель не был 0... Кроме того, указатели — это лишний уровень косвенности, лишнии операции при обращении к объекту.
Вообще, не хочется без лишней необходимости пользоваться new/delete. Так что указатели, даже смарт-указатели, я не рассматриваю.
Конечно, любой контейнер тоже пользуется new/delete. Но контейнер, который хранит сами объекты, а не указатели на них, выделяет память только при создании, изменении размера и уничтожении контейнера, а при изменении элементов он к аллокатору, по идее, обращаться не должен.