什么时候在C ++中使用const_cast

时间:2011-02-15 10:40:12

标签: c++

  

可能重复:
  Correct usage(s) of const_cast<>

在函数参数中使用const参数然后在函数中使用const_cast有什么用?

2 个答案:

答案 0 :(得分:7)

我只使用const_cast来处理我必须将const参数传递给不可修改遗留代码的情况,这些代码已知不会修改参数,即它在实践中是const但API /函数调用的签名不包含const关键字。

答案 1 :(得分:1)

只有在需要将该参数传递给承诺不修改数据的旧版C API时,才会使用它。

在任何其他情况下你都不需要用const_cast来破坏常量,并且要注意即使在破坏了constness之后,仍然未定义的行为来修改对象;它不再是你的编译器强制执行的,你承担了这个承诺的责任。