c++ - const_cast 是如何工作的?

标签 c++ c++11

我已经知道 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/

相关文章:

C++ new []在数组访问时进入基类指针崩溃

c++ - map move 插入是否保证元素被 move 或不被 move ?

c++ - 如何在 C++11 中防止线程饥饿

c++ - 防止转发为 "too liberal"

c++ - 使用相同参数初始化元组

c++ - OpenGL:透视矩阵不显示任何内容

C++向字符串添加额外的不需要的字符

c++ - 如何创建全局字符串数组?

c++ - InternetReadFile 问题(错误 87 - 参数不正确)

C++ Lambda - 错误 : no matching function for call to