Re[5]: Про идентичность const
От: Pzz Россия https://github.com/alexpevzner
Дата: 22.01.25 18:56
Оценка: 9 (1)
Здравствуйте, Shmj, Вы писали:

Pzz>>А если методы объекта имеют побочные эффекты, не связанные с объектом?


S>Если константный класс (конструктор с const) — то ограничения не касаются тела методов, к сожалению Но просто для себя знайте что такие методы не должны иметь т.н. побочных эффектов. Если допустили побочный эффект — ССЗБ, не нужно было делать const-конструктор.


"Просто для себя знайте..." — это в спецификации языка так написано и проверяется компилятором, или негласная договорённость среди посвященных?

S>Сделали так, чтобы все-таки можно было работать с не-константными внешними объектами, иначе будет очень узкая сфера применения — а сейчас используется на полную. Т.е. просто для себя знать — не делать const, если методы не чистые. Компилятор пока не проверяет.


Мне что-то кажется, что после Go как-то стыдно делать языки, не обеспечивающие обратной совместимости (в том смысле, что более новая версия компилятора может не съесть соответствующий спецификации языка код, который ела более старая версия компилятора). Неужели Dart — исключение?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.