Нет, есть только один trunk
, но на него указывают два указателя.
По этой причине контейнеры стандартной библиотеки не принимают освобождения памяти для элементов указателя, поскольку они не могут определить, кому на самом деле принадлежит объект, на который указывает указатель находится внутри контейнера или тот, который был использован для операции толкания.
Если вы используете указатель в качестве элемента контейнера, вы вынуждены выполнять ручное управление памятью, пользователь должен убедиться, что объект , указанный на , остается действительным.
По этой причине следует использовать умные указатели , а не необработанные указатели с контейнерами стандартной библиотеки, это экономит вам ручное управление памятью.
Если вставляемый элемент является не указателем, а объектом, то будут две отдельные копии объекта: одна хранится в контейнере, а другая использовалась для вставки в контейнер.