在函数参数中使用const
参数然后在函数中使用const_cast
有什么用?
答案 0 :(得分:7)
我只使用const_cast来处理我必须将const参数传递给不可修改遗留代码的情况,这些代码已知不会修改参数,即它在实践中是const但API /函数调用的签名不包含const关键字。
答案 1 :(得分:1)
只有在需要将该参数传递给承诺不修改数据的旧版C API时,才会使用它。
在任何其他情况下你都不需要用const_cast
来破坏常量,并且要注意即使在破坏了constness之后,仍然未定义的行为来修改对象;它不再是你的编译器强制执行的,你承担了这个承诺的责任。