首页 > 代码库 > const用法小结
const用法小结
const的四种情况如下:
int b = 500; const int *a = &b; ①(底层const) int const *a = &b; ②(底层const) int *const a = &b; ③(顶层const) const int *const a = &b; ④(靠右的是顶层const,靠左的是底层const)
第一种情况:const位于星号的左侧那么const就是用来修饰指针所指向的变量,即指针指向为常量;这种情况下不允许对内容进行更改操作。(底层const)
int b = 500; const int *a = &b; //*a = 600; 错误,但是*a的值可以通过其他的途径修改,其一为: b = 600;//现在*a的值为600 cout << *a << endl; 其二为: int c = 600; a = &c;//现在*a的值为600 cout << *a << endl; 这种情况可以先不进行初始化
第二种情况和第一种情况一样。
第三种情况为指针本身为常量,这种情况下不能对指针本身进行更改操作,而指针所指向的内容不是常量,这种情况必须初始化。
//int *const a; 错误,必须初始化 int b = 500, c = 600; int *const a = &b; *a = 600; //cout << a++ << endl;错误
第四种情况为指针本身和指向的内容均为常量。
//=============================================================================================================================
再看看const成员函数:
可在不改变对象的成员函数的函数原型中加上const;
class Point { int xVal, yVal; public: int GetY() const; }; int Point::GetY() const { return yVal; }
如果const放在函数声明之前,意味着函数的返回值是常量。
const用法小结
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。