定数のオブジェクトへのポインターの初期化
定数 オブジェクトへのポインターはポインターと 定数 ではなく逆にできるオブジェクトを初期化します。たとえば次の初期化があります :
Window StandardWindow;
const Window* pStandardWindow( &StandardWindow );
このコードではpStandardWindow ポインターは 定数 のオブジェクトへのポインターとして宣言されています。StandardWindow が 定数 として宣言できませんが宣言は 定数 のオブジェクトへの 定数 のアクセスとして宣言されていないオブジェクトを許可しないため使用できます。これを反転した値は次のとおりです。:
const Window StandardWindow;
Window* pStandardWindow( &StandardWindow );
このコードは 定数 のオブジェクトとして明示的に StandardWindow を宣言します。StandardWindow のアドレスでの非定数ポインターを初期化 pStandardWindow ポインターを通じて 定数 オブジェクトへのアクセスを可能にするためエラーが生成されます。つまりオブジェクトの 定数 の属性を削除できます。