首页 > 其他 > 详细

2.条款三:为什么建议你尽量使用const?

时间:2019-11-20 16:38:53      阅读:78      评论:0      收藏:0      [点我收藏+]

2.1.将某些东西声明为const可帮助编译器侦测出错误用法。比如说,一个重载[]函数返回值用上const限定符表明了其不可写值的特性。

1 const char& operator[](size_t rank) {
2         return text[rank];
3     }

2.2.将const作用于函数,如果你有修改数据的需求,可以使用mutable修饰符去掉bitwise constness约束,实际上用const修饰的函数是可以修改指针所指对象的。

2.3.当const和non-const有着实质的等价实现时,应该让non-const版本调用const版本。这里有一个同时兼顾何种情况下使用强制转换的例子。

1     const char& operator[](size_t rank) const{
2         return text[rank];
3     }
4     char & operator[](size_t rank) {
5         return const_cast<char &>(
6             static_cast<const char &>((*this)[rank])
7             );
8     }

使用const修饰函数用以区分重载函数。

2.条款三:为什么建议你尽量使用const?

原文:https://www.cnblogs.com/Royzzzzz/p/11898607.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!