|
383 / 280 / 112
Регистрация: 28.04.2015
Сообщений: 1,726
|
|||||||||||
Повторный вызов деструктора26.12.2020, 08:41. Показов 5550. Ответов 67
Привет!
Есть класс TVector и есть у него деструктор вот такой:
"надо корректно обрабатывать ситуацию повторного вызова деструктора. В этом случае деструктор не должен пытаться освобождать в динамической памяти объекты повторно" я не оч.выкупил, что требуется, но решил добавить такую проверку в деструкторе:
0
|
|||||||||||
| 26.12.2020, 08:41 | |
|
Ответы с готовыми решениями:
67
Повторный вызов деструктора
Повторный вызов деструктора для объекта |
|
19505 / 10108 / 2463
Регистрация: 30.01.2014
Сообщений: 17,829
|
|||||||
| 26.12.2020, 21:39 | |||||||
|
Если вдруг вам будет интересно разобраться в сути, а не ограничиваться собственными рассуждениями, то попробуйте начать вот с такого примера:
1) тип возвращаемого значения int * const?2) почему мы не можем присвоить ноль? Добавлено через 1 минуту PS. Мне о результатах положительных или отрицательных рассказывать не обязательно. Точнее даже не нужно. Я просто указал вам дорогу, дальше уже сами.
0
|
|||||||
|
Комп_Оратор)
|
|||
| 26.12.2020, 22:30 | |||
this как и то что категории значений и типы - ортогональные понятия. Тут уж и cppreference которые почти не отходят от стандарта говорят открытым текстом... Я уж не говорю о том что комитет и сообщество по ресурсам (включая не только деньги но профессионалов) несравнимы с IBM. Дело не только в и не столько в авторитетах. Дело даже не в том, что сделали с языком категории значений. Дело даже не в том кто прав (с точки зрения того как захотел увидеть другой участник). Дело даже не в стиле обсуждения (хотя в этом тоже). Если моё эссе вам непонятно, я вряд ли смогу как-то помочь. Я лишь попытался и всё.
0
|
|||
| 26.12.2020, 22:57 | |
|
0
|
|
|
Комп_Оратор)
|
|||||
| 27.12.2020, 00:28 | |||||
this имеет и тип и категорию значения. Вы просто продолжили и явно указали, что раздел новичков С++ данного форума, это ни какая-то там IBM (в контексте вопроса повторного вызова деструктора, разумеется). И пытаетесь научить меня (makе me understand) Нет конечно. Смотрите. Вопрос данной темы концептуально не нов и сводится, фактически к вопросу ручного запуска деструктора. Но не только. Были затронуты вопросы реализации совместного владения. И не раскрыто. Даже мелочь о том, что если уж занулил указатель то проверять его перед delete не требуется, не прозвучала. Этот вызов безопасен на нулевом указателе. То есть, по большому счёту, кроме некоторой малой потери быстродействия такое сброс указателя ни чего не несёт и является невинным актом праведной монахини в отношении свечи. Ни какого профита в части повторного вызова деструктора тут конечно нет. В целом это было отмечено. И вы видите как замечание по this сработало в теме? Досталось даже IBM (хотя я легко могу найти и другие источники, то что this имеет тип указателя константы это медицинский факт, хотя он может быть реализован и как неизменяемое правостороннее выражение возвращаемое как временная корпия, да. Но может быть и иначе). -
0
|
|||||
|
19505 / 10108 / 2463
Регистрация: 30.01.2014
Сообщений: 17,829
|
||
| 27.12.2020, 00:32 | ||
|
0
|
||
|
Комп_Оратор)
|
|||
| 27.12.2020, 00:40 | |||
И речь опять не о том. Тема завалилась из-за ненужного замечания в категоричной форме. Неверного к тому же или по крайней мере спорного.
0
|
|||
|
19505 / 10108 / 2463
Регистрация: 30.01.2014
Сообщений: 17,829
|
||||
| 27.12.2020, 01:07 | ||||
|
Что касается Microsoft, то это документация по их компилятору, а не по С++. Они описывают диалект С++, реализованный в их компиляторе. И у них this действительно const. Однако здесь мы не обсуждаем конкретную реализацию, по крайней мере об этом нигде не было указано явно. По диалекту MS у нас есть отдельный подраздел здесь: https://www.cyberforum.ru/visual-cpp/ Добавлено через 5 минут Не по теме:
Однако что сделано, то сделано. Вы и сами приложили руку к тому, что тема скатилась, начав спорить. Добавлено через 6 минут Обсуждение нашего подвопроса на SO. Верный ответ со ссылками на стандарт и пояснением исторических причин отступления от стандарта в некоторых реализациях C++: https://stackoverflow.com/ques... 67#6067267
1
|
||||
|
Комп_Оратор)
|
|||||||
| 27.12.2020, 01:40 | |||||||
|
Да, вот текст черновика:
Где-нибудь было бы интересно увидеть, в чём смысл и профит от
0
|
|||||||
| 27.12.2020, 01:40 | |
|
Вызов деструктора
Вызов деструктора Вызов деструктора Вызов деструктора Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
|
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет:
1. Использовать системное время и дату,
2. Есть возможность вводить время и дату вручную.
3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
|
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber.
Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
|
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео:
https:/ / vkvideo. ru/ video-240781534_456239017
YouTube:
eY5-5PyI9NM
Текстовая версия
|
|
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать
Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
|
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства.
Родственных связей существует 8 ступеней, такие как:
p - отец
P - мать
q - муж
Q - жена
b - брат
B - сестра
s - сын
S - дочь
|
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире.
Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
|
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С.
Задача:
Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
|