Как стать автором
Обновить

Комментарии 7

Бессмысленно искать ошибку Страуструпа. Любая его ошибка — это не задокументированная возможность языка С++.
Изменять this можно было в конструкторе и деструкторе и в этом случае автоматического выделения/освобождения памяти не происходило. Что, понятно, читабельности кода не добавляло.

Потом появились operator::new и operator::delete и this сделали константным указателем (да, это были времена когда C++ менялся с ломкой обратной совместимости). Во втором издании The C++ Programming Language об этом ещё писалось, но в своей практике я с этим не сталкивался. Интересно увидеть, что эту странную и нелогичную «фичу», как обычно, разработчики придумали для себя.
В статье есть пасхалка…
Скрытый текст
Сидящий именно в такой позе единорог кого-то напоминает…
Обычное наблюдение: статический анализатор давно функционирующего проекта отлавливает ошибки чаще всего в процедурах обработки ошибок, так как эти ветки реже всего тестируются.
Да. И ещё в тестах. Тесты никто не тестирует. :)
Зарегистрируйтесь на Хабре, чтобы оставить комментарий