式 const_cast<T>(v) を使用して、ポインタまたは参照の const 修飾子または volatile 修飾子を変更することができます。新しい形式のキャストのうち、const 修飾子を削除できるのは const_cast<> のみです。T はポインタ、参照、またはメンバー型へのポインタである必要があります。
class A { public: virtual void f(); int i; }; extern const volatile int* cvip; extern int* ip; void use_of_const_cast() { const A a1; const_cast<A&>(a1).f(); // const を削除 ip = const_cast<int*> (cvip); // const と volatile を削除 } |