новый автоматический указатель ключевого слова сам удаляет? - PullRequest
0 голосов
/ 04 июля 2018

Если у меня есть эта строка

auto* f = new boost::posix_time::time_input_facet("%d %b %Y %H:%M:%S");

я должен удалить указатель? или оно само себя убирает?

delete f; // ??

Я знаю, что auto_ptr и shared_ptr удаляются автоматически, но я не знаю об auto

1 Ответ

0 голосов
/ 04 июля 2018

auto не имеет ничего общего с auto_ptr, он просто указывает компилятору выводить тип.

Так что да, в приведенном вами примере необходимо delete.

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

...