Если вы используете boost, boost :: ptr_vector может лучше подойти для ваших нужд.
Если нет, то вы можете использовать shared_ptr
, как вы предлагали, или вручную удалить элементы вектора, как только вы закончите с ними.
С точки зрения обслуживания, shared_ptr
будет предпочтительным решением. Однако обратите внимание, что shared_ptr
может принести некоторые потери производительности, которые могут или не могут быть значительными для вашего приложения.