оператор delete |
Здравствуйте, гость ( Вход | Регистрация )
оператор delete |
Гость_Quest_* |
5.8.2015, 0:53
Сообщение
#1
|
Гости |
Здравствуйте уважаемые программисты. У меня есть два вопроса про оператор delete.
1.) Если мы удалим указатель, который ссылается на какой-то объект, то удалиться только этот указатель ? Или объект, на который ссылается указатель, тоже удалится?? 2.) Почему в этом случае элемент вектора не удаляется ? Остается его адрес, и более того, ему присваивается какое-то значение ?
Спасибо. |
|
|
Гость_Quest_* |
5.8.2015, 16:21
Сообщение
#11
|
Гости |
lanz, разумеется, указатели на целый тип я хранить не буду , тут просто как пример привожу. По поводу "лучше", я имел ввиду, что, может там алгоритм удаления какой быстрее или медленнее.
|
|
|
lanz |
5.8.2015, 16:35
Сообщение
#12
|
Старейший участник Группа: Участник Сообщений: 690 Регистрация: 28.12.2012 Пользователь №: 3660 Спасибо сказали: 113 раз(а) Репутация: 8 |
Если это не целый тип, то интереснее подумать, кто будет "владеть" этими объектами. Тот и должен их удалять.
Если вектор владеет, то я бы посоветовал unique_ptr. Цитата может там алгоритм удаления какой быстрее или медленнее. Профилируйте, так вам никто не скажет |
|
|
Гость_Quest_* |
5.8.2015, 16:49
Сообщение
#13
|
Гости |
|
|
|
Iron Bug |
5.8.2015, 17:33
Сообщение
#14
|
Профессионал Группа: Модератор Сообщений: 1611 Регистрация: 6.2.2009 Из: Yekaterinburg Пользователь №: 533 Спасибо сказали: 219 раз(а) Репутация: 12 |
По вектору лучше тоже перемещаться итератором:
Мне кажется одним C тут не отделаешься. Нужно понимать из чего состоит и как работает компьютер (хотя бы самый простой, например AVRка). Потом нужно понимать как разные языки доходят до "железа", как программы превращаются в исполняемые файлы и т.п. AVRка всё же не компьютер. микроконтроллеры гораздо проще устроены. у современных компьютеров довольно сложные чипсеты, замороченные схемы прогрузки через UEFI и это начинающему вряд ли нужно понимать в деталях. а вот цепочку превращения кода в бинарник понимать нужно в любом случае. ну и примерно о том, как код исполняется (тут тоже всё сильно зависит от архитектуры и там есть сильно разные реализации). |
|
|
Текстовая версия | Сейчас: 14.5.2024, 21:04 |