C++提供了四个转换运算符:
1. const_cast (expression)
2. static_cast (expression)
3. reinterpret_cast (expression)
4. dynamic_cast (expression)
const_cast (expression)
用const_cast来去除const限定
const int constant = 21;
const int* const_p = &constant;
int* modifier = const_cast<int*>(const_p);
*modifier = 7;
这样修饰后,就可以顺利编译通过。
原因:我们可能调用了一个参数不是const的函数,而我们要传进去的实际参数确实const的,但是我们知道这个函数是不会对参数做修改的。于是我们就需要使用const_cast去除const限定,以便函数能够接受这个实际参数。
使用const_cast去除const限定的目的绝对不是为了修改它的内容,只是出于无奈
本文介绍了C++中const_cast转换运算符的使用方法及注意事项。通过实例演示了如何使用const_cast去除const限定,以便将const变量传递给不接受const参数的函数。强调使用const_cast的目的通常并非为了改变其内容,而是为了兼容性。


被折叠的 条评论
为什么被折叠?



