首页 > 代码库 > Effective C++ Item 3 尽可能使用const
Effective C++ Item 3 尽可能使用const
本文为senlie原创,转载请保留此地址:http://blog.csdn.net/zhengsenlie
const 出现在*左边指const data,出现在*右边指const pointer
声明常量迭代器和所指物是常量的迭代器
将返回值声明为const,避免它被当作左值,成员函数声明为const,确认该成员函数可作用于const 对象
成员函数声明为const,确认该成员函数可作用于const 对象(const对象只能调用const 成员)
char greeting[] = “Hello”; char *p = greeting; //non-const pointer, non-const data const char *p = greeting; //non-const pointer, const data char *const p = greeting; //const pointer, non-const data const char *const p = greeting //const pointer, const data
声明常量迭代器和所指物是常量的迭代器
std::vector<int> vec; const std::vector<int>::iterator iter = vec.begin(); //iter的作用像个T *const *iter = 10 //ok. 改变iter所指物 ++iter; //error. iter是const const std::vector<int>::const_iterator cIter = vec.begin(); //cIter的作用像个const T * *cIter = 10 //error. *cIter是const ++cIter; //error. 改变cIter
将返回值声明为const,避免它被当作左值,成员函数声明为const,确认该成员函数可作用于const 对象
class Rational {…}; const Rational::operator *(const Rational *lhs, const Rational *rhs) const参数声明为const,避免它修改
成员函数声明为const,确认该成员函数可作用于const 对象(const对象只能调用const 成员)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。