对const_cast关键字的解释
const_cast关键字只能对低成const进行删除,这就意味着const_cast只能作用于指针,引用等,而且const_cast并不直接改变对象本身的属性,也就是说当把一个指向常量的
指针或者引用转换成不指向常量的指针或者引用时,常量本身还是常量,并不会改变,const_cast只是改变了引用或者指针。
指针或者引用转换成不指向常量的指针或者引用时,常量本身还是常量,并不会改变,const_cast只是改变了引用或者指针。
列子如下:
const char *cp;
//错误:static_cast不能转换掉const性质
char* q = static_cast<char*> (cp);
static_cast<string> (cp); //正确,字符串字面值转换成string类型
const_cast<string>(cp); //错误,const_cast只改变常量属性