auto
не имеет ничего общего с auto_ptr
, он просто указывает компилятору выводить тип.
Так что да, в приведенном вами примере необходимо delete
.
Немного не по теме: вы упоминаете auto_ptr
(этот не рекомендуется) и shared_ptr
, но есть также unique_ptr
, который очень удобен, потому что он очень легкий (практически без накладных расходов) и может использоваться, когда есть один владелец.