Ионные 3 локальных уведомления вызывают только последнее

Это какое-то неопределенное поведение с const_cast?

Да, ваша программа содержит неопределенное поведение.

Это означает, что вы не можете ожидать каких-либо ожиданий на его выходе. Причина дается в параграфе 7.1.6.1/4 стандарта C ++ 11:

За исключением того, что любой член класса, объявленный mutable (7.1.1), может быть изменен, любая попытка изменить объект const в течение его времени жизни (3.8) приводит к неопределенному поведению

В параграфе 5.2.11 / 7 на const_cast содержится еще одно предупреждение:

[ Примечание : в зависимости от типа объекта, операция записи через указатель, lvalue или указатель на элемент данных, полученный в результате const_cast, который отбрасывает const -квитатор, может производить неопределенное поведение (7.1.6.1). - end note ]

0
задан Morad Abdelgaber 6 March 2019 в 21:21
поделиться