const_cast演算子はconst属性を取り除くのに使える。
#include <iostream> using namespace std; void func(const int* p) { int* a; a = const_cast<int*>(p); *a = 123; } int main() { int a = 100; func(&a); cout << a << endl; }
constをわざわざ付けているのは意味があるわけで、それを取り除いてしまうということはよっぽどの理由がない限りは使うべきでないだろう。
それよりもどうしてconstを取り除いて使いたくなったかコードを見直して設計をやり直したほうが良いだろう。