通常,在C++代码中使用const_cast<>()
通常被认为是不好的做法,因为它(大部分时间)揭示了设计中的缺陷。
尽管我完全同意这一点,但是我想知道在哪些情况下使用const_cast<>()
是可以的,并且是唯一的解决方案。
你们能给我一些您知道/遇到的例子吗?
非常感谢你。
最佳答案
const_cast
也用于删除volatile
修饰符,如这篇(有争议的)文章中所述:
http://www.drdobbs.com/184403766
通常,在C++代码中使用const_cast<>()
通常被认为是不好的做法,因为它(大部分时间)揭示了设计中的缺陷。
尽管我完全同意这一点,但是我想知道在哪些情况下使用const_cast<>()
是可以的,并且是唯一的解决方案。
你们能给我一些您知道/遇到的例子吗?
非常感谢你。
最佳答案
const_cast
也用于删除volatile
修饰符,如这篇(有争议的)文章中所述:
http://www.drdobbs.com/184403766