Как определить константу в C++, которая указывает на изменяемый объект?Как определить конечную переменную (изменяемую константу) в C++?
Если я объявляю
static const CMyClass* IMPL;
и назначить
const CMyClass* CSomeClass::IMPL = new CMyClass;
, то я могу назвать только const
функции на объекте. Его внутренности заблокированы. Это не то, что я хочу.
Если я оставляю квалификатор const
, я могу переназначить указатель IMPL
, поэтому он больше не защищен как константа, каким он должен быть. final
, похоже, применим только к функциям в C++. Есть ли эквивалент переменных Java final
в C++?
Таким образом, вы хотите, чтобы указатель не был назначен, но указал на объект, подлежащий назначению? – NathanOliver
Даже если вы не оставите 'const', вы можете переназначить указатель' IMPL'. –
Возможный дубликат [В чем разница между константой int \ *, const int \ * const и int const \ *?] (Http://stackoverflow.com/questions/1143262/what-is-the-difference-between -const-int-const-int-const-and-int-const) – LogicStuff