Сообщение Re[59]: Когда это наконец станет defined behavior? от 13.05.2023 18:08
Изменено 13.05.2023 18:09 rg45
Re[59]: Когда это наконец станет defined behavior?
Здравствуйте, kov_serg, Вы писали:
_>·>... Да не даёт const ровным счётом ничего. Только если либо копия передаётся, либо передача ownership, и это немного помогает в некоторых случаях, но возможностей стрельнуть в ногу всё равно дофига.
_>Например некоторый случай
Бред собачий. Не имеет права компилятор так воспринимать происходящее. Вектор неконстантный и он модифицировался. Если какой-то компилятор так делает, то это просто баг, это во-первых. А во-вторых, а какой компилятор так делает — пруфы будут?
_>·>... Да не даёт const ровным счётом ничего. Только если либо копия передаётся, либо передача ownership, и это немного помогает в некоторых случаях, но возможностей стрельнуть в ногу всё равно дофига.
_>Например некоторый случай
Компилятор имеет право воспринимать происходящее следующим образом:
В векторе 1 элемент
Вектор не реаллоцировался.
Указатель на элемет в первом cout и во втором cout один и тот же.
И там и там используется константное поле
Я его уже читал при первом cout
Зачем мне его читать еще раз, это же константа!
Вывожу закэшированное значение.
Бред собачий. Не имеет права компилятор так воспринимать происходящее. Вектор неконстантный и он модифицировался. Если какой-то компилятор так делает, то это просто баг, это во-первых. А во-вторых, а какой компилятор так делает — пруфы будут?
Re[59]: Когда это наконец станет defined behavior?
Здравствуйте, kov_serg, Вы писали:
_>·>... Да не даёт const ровным счётом ничего. Только если либо копия передаётся, либо передача ownership, и это немного помогает в некоторых случаях, но возможностей стрельнуть в ногу всё равно дофига.
_>Например некоторый случай
Бред собачий. Не имеет права компилятор так воспринимать происходящее. Вектор неконстантный и он модифицировался. Была реллокация или нет — это насрать. Если какой-то компилятор так делает, то это просто баг, это во-первых. А во-вторых, а какой компилятор так делает — пруфы будут?
_>·>... Да не даёт const ровным счётом ничего. Только если либо копия передаётся, либо передача ownership, и это немного помогает в некоторых случаях, но возможностей стрельнуть в ногу всё равно дофига.
_>Например некоторый случай
Компилятор имеет право воспринимать происходящее следующим образом:
В векторе 1 элемент
Вектор не реаллоцировался.
Указатель на элемет в первом cout и во втором cout один и тот же.
И там и там используется константное поле
Я его уже читал при первом cout
Зачем мне его читать еще раз, это же константа!
Вывожу закэшированное значение.
Бред собачий. Не имеет права компилятор так воспринимать происходящее. Вектор неконстантный и он модифицировался. Была реллокация или нет — это насрать. Если какой-то компилятор так делает, то это просто баг, это во-первых. А во-вторых, а какой компилятор так делает — пруфы будут?