Re[23]: Когда это наконец станет defined behavior?
От: kov_serg Россия  
Дата: 30.04.23 08:17
Оценка: :)
Здравствуйте, rg45, Вы писали:

R>Правильно, поэтому я и написал "другими словами". Его слова были буквально такими:


R>

R>Типа передали константную ссылку — значит компилятор вправе предполагать что содержимое не меняется!


R>Но разве из этого не следует, что константные ссылки на неконстантные объекты должны быть запрещены (в well-defined программе, разумеется)? Иначе каким образом можно обеспечить сформулированное требование?


Все проблемы из этого и растут. Сначала напридумывают ненужных атрибутов. А потом когда они начинают конфликтовать придумывают костыли. Когда костыли не стыкуются придумывают несуществующие понятия и новые костыли. Где не могут найти решения добавляют очередной UB.
const — может быть только если данные лежат в ПЗУ или в памяти с запретом на запись. В C++ вместо того что бы явно решать задачу вечно какие-то обходные пути придумывают. Вместо того что бы сделать возможность явно сообщать компилятору о допущениях, используемых в программе, его заставляют об этом самому догадываться по косвенным признакам. В результате вместо нормального инструмента получаем минное поле. При этом мины заложенные ранее активируются постепенно, с увеличением версии стандарта языка.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.