我已经知道 const_cast
做了什么。但是我想知道它是如何完成这项工作的。编译器在看到 const_cast
时究竟做了什么?
最佳答案
回想一下 const_cast
is safe only when the actual variable has been declared non-const .由于所有const_cast<T>(...)
确实是删除 const
-ness 来自类型*,它基本上除了告诉编译器你知道你在做什么之外什么都不做。 Const-ness 是一个编译时概念,因此在编译器内部也会将其丢弃。
* 它还可以添加/删除 const-ness 或强制将其视为 volatile,但所有这些都遵循相同的基本方法。
关于c++ - const_cast 是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39311613/