const_cast如何工作?

Gab*_*ard 2 c++ c++11

我已经知道是什么了const_cast.但是我想知道它是如何完成这项工作的.编译器在看到它时到底做了const_cast什么?

das*_*ght 6

回想一下,const_cast只有当实际变量被声明为非const时才是安全的.因为从类型*中const_cast<T>(...)删除const-ness 所做的一切,除了告诉编译器你知道自己在做什么之外,它基本上什么也没做.Const-ness是一个编译时的概念,因此将其丢弃也会在编译器中发生.

*它还可以添加/删除常量或强制将其视为易失性,但所有这些都遵循相同的基本方法.