Может ли объект, выделенный в куче, быть константным в C ++?
В C ++ объект, выделенный из стека, может быть объявленconst
:
const Class object;
после этого попытка вызова неконстантного метода для такого объекта является неопределенным поведением:
const_cast<Class*>( &object )->NonConstMethod(); //UB
Может ли выделенный кучей объект бытьconst
с такими же последствиями? Я имею в виду, возможно ли следующее:
const Class* object = new Class();
const_cast<Class*>( object )->NonConstMethod(); // can this be UB?
тоже неопределенное поведение?