C ++では、スタック割り当てオブジェクトを宣言できますconst
。
const Class object;
その後、そのようなオブジェクトで非constメソッドを呼び出そうとすると、未定義の動作になります。
const_cast<Class*>( &object )->NonConstMethod(); //UB
ヒープに割り当てられたオブジェクトがconst
同じ結果になる可能性はありますか?つまり、次の可能性があります。
const Class* object = new Class();
const_cast<Class*>( object )->NonConstMethod(); // can this be UB?
未定義動作でもありますか?