Существуют ситуации, когда вам может понадобиться реализовать пользовательский контейнер (потому что ни std::vector
, ни какой-либо из других стандартных контейнеров библиотеки не соответствуют вашей цели), и в этих случаях может имеет смысл сделать управление памятью вручную.
Однако, если вы не предоставляете низкоуровневые базовые компоненты в какой-то кодовой базе промышленного уровня и не ставите перед собой конкретных задач, ручное управление памятью здесь, вероятно, по-прежнему также не требуется.
Я согласен со строгими правилами вашего лектора в том смысле, что стоит понимать, что происходит за кулисами. Вы редко, если вообще когда-либо, должны использовать ручное управление памятью, но это помогает понять, как std::unique_ptr
/ std::vector
( должно ) сделать это для вас, чтобы понять, почему C ++ был построен так, как он есть. Обучение C ++ способом, который полезен в реальном мире, в конечном итоге позволит / заставит вас использовать стандартные библиотечные контейнеры, потому что (как вы правильно заметили), по сути, нет никаких причин когда-либо писать delete
.