Re[3]: Про идентичность const
От: rg45 СССР  
Дата: 22.01.25 19:47
Оценка: 1 (1) +1
Здравствуйте, Shmj, Вы писали:

S>Не случайность а оптимизация. Но подобные оптимизации в C++ возможны только для строк, для более сложных constexpr — так же могли бы сделать в теории, но пока не смогли на практике.


Откуда у тебя уверенность, что подобные оптимизации невозможны для других типов? Компилятор может применять любые оптимизации, если это не меняет видимого поведения программы — вплоть до того, что вообще не создавать каких-то объектов, которые фигурируют в исходном тексте программы. Но только к твоему случаю это не относится — ты ведь выводишь на печать адреса объектов, а они обязаны быть разными. Соответственно компилятор не может применить подобную оптимизацию в данном случае. Своего рода эффект наблюдателя.

P.S. Тьфу, блин, всё-таки, втянул ты меня в свою болтологию.

P.P.S. И кстати, в твоём примере компмилер запросто может вывести на экран два фейковых адреса, где ПРЕДПОЛОЖИТЕЛЬНО могли БЫ быть созданы твои объекты, а создание самих объектов проскипать. Опять же, если это не меняет видимого поведения программы. И обнаружить ты это можешь только заглянув в объектный код.

Это я написал, не подумав. Не может он поскипать создание объектов, потому что не видит, каким образом эти адреса используются в basic_ostream::opeartor<<.
--
Справедливость выше закона. А человечность выше справедливости.
Отредактировано 24.01.2025 17:14 rg45 . Предыдущая версия . Еще …
Отредактировано 24.01.2025 17:08 rg45 . Предыдущая версия .
Отредактировано 22.01.2025 19:56 rg45 . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.