Re[2]: Про идентичность const
От: Shmj Ниоткуда  
Дата: 22.01.25 19:36
Оценка: :)
Здравствуйте, rg45, Вы писали:

R>Как не трудно увидеть из объявления str1 и str2 — это указатели. И как и все указатели, они обладают присущей всем указателям двойственностью — есть собственно объект указателя и у этого указателя есть значение — адрес какого-то объекта, располагающегося где-то в памяти. Так вот, в случае str1 и str2 — это два разных объекта с разными адресами, но с одинаковыми значениями. А почему же значения этих указателей оказались одинаковыми? Чтобы ответить на этот вопрос, нужно заглянуть в стандарт языка С++, в раздел String literals:


Это и так понятно.

R>Ключевое я выделил. Как видишь, никто нам не гарантирует, что значения str1 и str2 будут совпадать. То, что они совпали в данном случае, можешь считать счастливой случайностью.


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