const_cast作用

语法:
const_cast <type>? (object);
关键字const用于移除”const-ness”的数据,目标数据类型必须和原类型相同,目标数据没有被const定义过除外.

该运算符用来修改类型的const或volatile属性。除了const 或volatile修饰之外, type和object的类型是一样的。

一、常量指针被转化成非常量的指针,并且仍然指向原来的对象;

二、常量引用被转换成非常量的引用,并且仍然指向原来的对象;

volatile和const类似。举如下一例:

上面的代码编译时会报错,因为b1是一个常量对象,不能对它进行改变;

使用const_cast可以返回一个指向非常量的指针(或引用)指向b1,就可以通过该指针(或引用)对它的数据成员任意改变。

《const_cast作用》上有1条评论

评论已关闭。