c++ const 用法总结
来源:互联网 发布:js中嵌套java代码 编辑:程序博客网 时间:2024/06/05 08:08
class A
{
public:
int i=0;
const int x1=9;//对象x1被修饰为常对象,由于x1不能被赋值,只能通过初始化得到值。
int fun(int n) const;//这里的fun函数被修饰为常函数。
void fun1(int m);
}
A::fun1(int m){}
A::fun(int n)const//常成员函数
{
i=n+5;//这句话错误,因为fun()成员函数是常函数,不能修改任何成员变量的值(const与非const成员变量)。
fun1(100);//这句话是错误的,因为const成语函数不能调用非const成员函数,非const成员函数会修改成员变量。
int value=i+3;//这句话是正确的。const成员函数可以调用成员变量。
}
{
public:
int i=0;
const int x1=9;//对象x1被修饰为常对象,由于x1不能被赋值,只能通过初始化得到值。
int fun(int n) const;//这里的fun函数被修饰为常函数。
void fun1(int m);
}
A::fun1(int m){}
A::fun(int n)const//常成员函数
{
i=n+5;//这句话错误,因为fun()成员函数是常函数,不能修改任何成员变量的值(const与非const成员变量)。
fun1(100);//这句话是错误的,因为const成语函数不能调用非const成员函数,非const成员函数会修改成员变量。
int value=i+3;//这句话是正确的。const成员函数可以调用成员变量。
}
1,const 修饰类的成员函数:此时成员函数是常成员函数,它不能修改任何的成员变量,也不能调用成员函数。
2,const 修饰类的成员变量,此成员变量的值不能再被赋值,它的值的获得是通过初始化得到。
3,const修饰函数的形参,void fun(const int i){}// 表明形参i在函数体里面不能被修改值。起到保护数据的作用
4,const 修饰一般的变量,const int i=0;//表示i只能一次初始化,不允许被修改值。
5,const 修饰指针:一:const修饰指针本身。二:const修饰指针指向的对象。
如何判别:以“*”为界,const在左,指针指向的对象的值不变,const在右,指针本身不变。“左对象,右指针”。
举例:const int *p;//这里的const修饰指针所指对象,即i所指对象应为一个const int,既然对象是const,不允许修改,
//故通过指针p就不能修改。但是p是非const,故它可以指向另外一个地址。
int y=23; int * const pointer=&y;//const 修饰的是指针本身,即指针不能修改指向。但是对象没有限制为const,仍然可以
//修改对象的值,*pointer=100;
有些地方有些恶心的如:const int * const pointer;//前一个const修饰指针所指对象,后一个const修饰指针本身,两者都被限制。
阅读全文
0 0
- C++const用法总结
- C++const用法总结
- C++const用法总结
- C++const用法总结
- C++const用法总结
- C++const用法总结
- C++const用法总结
- c++->const用法总结
- C++:const用法总结
- C++const用法总结
- const 用法总结(C++)
- C语言Const用法总结
- const用法总结(C++)
- 【C++】const关键字用法总结
- const 用法总结(C++)
- c++/c语言 const关键字用法总结
- C/C++const类型用法总结
- c/c++中const用法总结
- 频道管理方法二
- LoRa信道争抢怎么办?传说中的冲突退避管用吗?
- HDU
- 【python】列表
- 风火轮树莓派3卡片电脑介绍
- c++ const 用法总结
- SPFA最短路径
- MyEclipse配置
- CodeForces
- 数学/物理知识在软件/算法中应用(1)
- ORAM思想
- 2017年7月24日21:10:02
- 哥德巴赫曾猜测 oj111
- HDU2037 解题报告