The const_cast operator is used to explicitly override const and/or volatile in a cast. : cast « Class « C++






The const_cast operator is used to explicitly override const and/or volatile in a cast.

   
#include <iostream>
using namespace std;
   
void sqrval(const int *val){
  int *p;
   
  // cast away const-ness.
  p = const_cast<int *> (val);
   
  *p = *val * *val; // now, modify object through v
}
   
int main(){
  int x = 10;
   
  cout << "x before call: " << x << endl;
  sqrval(&x);
  cout << "x after call: " << x << endl;
   
  return 0;
}
  
    
    
  








Related examples in the same category

1.Don't need a cast to go up the inheritance hierarchy
2.class type-casting
3.Use const_cast on a const reference.Use const_cast on a const reference.
4.The static_cast operator performs a nonpolymorphic cast.
5.The reinterpret_cast operator converts one type into a fundamentally different type.
6.The dynamic_cast performs a run-time cast that verifies the validity of a cast.
7.Replacing typeid with dynamic_cast