const_cast

来源:9-8 const_cast的使用

精慕门6050065

2020-12-01

为什么加了Const 又要用const_cast 来去掉const呢?既然后面要改变他的值,为什么又要加const限定,不是多次一举吗

写回答

1回答

quickzhao

2020-12-01

因为你目前想的情况太过简单。对于一些复杂的一些功能,有些最初的设计和最后的实现难免有一些冲突,这也体现了C++语言高度实践化的特点。有时你很难一下想明白将来会怎么样,这时难免要反悔。比如你可能调用了一个参数不是const的函数,而要传进去的实际参数确实const的,但是我们知道这个函数是不会对参数做修改的。于是我们就需要使用const_cast去除const限定,以便函数能够接受这个实际参数。

0
1
精慕门6050065
嗯嗯,我是觉得数据修不修改不都是程序员自己说了算吗,如果一开始就不加const,那我以后想修改就修改,不修改就不修改。c++老是制定一些规则,然后又可以打破规则,太难了 哈哈
2020-12-01
共1条回复

重学C++ ,重构你的C++知识体系

一部大片,一段历史,构建C++知识框架的同时重塑你的编程思维

3884 学习 · 1103 问题

查看课程