Здравствуйте, T4r4sB, Вы писали:
TB>·>Дело не в дисциплине, а в гарантии правильности. Если у тебя есть некий критичный кусочек кода — его можно проанализировать очень внимательно (или даже доказать) и быть уверенным, что именно он так и отработает. В случае С++ — это невозможно принципиально — расстрел памяти ведёт к непредсказуемым результатам любой части кода. TB>Да-да, я это слышал, это из первой лекции для студентов "недостатки С++". /_-
И с тех пор ты никогда в жизни не расстрелял память или не видел, когда вполне дисциплинированый дев расстреливал?
TB>·>Знаю, что уныло, но факт остаётся фактом. И не диверсия, а просто ошибка. TB>Случайно сделать 10 ошибок в слове "int" и получить "const_cast"? Или как?
const_cast не единственный способ потерять константность.
TB>·>Проблему сам найдёшь? Откровение открылось? TB>Нет, проблемы не вижу, кроме случая, когда в команде бардак и разработчики диверсанты, "случайно" пишущие const_cast, срущие в данные, которые другой поток считает константными, делящие на ноль и невзначай вставляющие в код команду форматирования винчестера.
В ядре линуха такие баги находили (а там, видимо бардак и диверсанты).
Вот поэтому и не нужно считать константным, а тупо использовать иммутабельный тип (что при наличии деструкторов в языке сделать невозможно).
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай