c++引用 指针 const

1、const定义常量

const int valuename=value;

2、const与指针

指针常量

int * const p;

指针的地址不允许修改,值可以修改

常量指针

const int *p;

值不能修改,地址可以修改

指向常量的指针常量

const int * const p;

3、const与函数
(1)const修饰函数参数

(a)函数参数为常量指针,指针所指的值不能修改

void fun(const int *p);

(b)参数为引用,增加效率同时防止修改

void fun(const class& value);
void fun(const Type& value);

传递地址,不增加副本,并且防止修改。只有const能捕捉临时变量并传递。
(2)const修饰函数返回值
与修饰普通变量和指针的含义差不多
一般情况用const修饰返回对象时多用于运算符重载。

4、const与类
(1)const修饰成员变量,成员变量不能修改,只能在初始化列表中赋值

class A{
	const int vaule;
	A(int x):value(x){};
}

(2)const修饰成员函数,不能修改所在对象的数据成员,不能访问所在对象的非const修饰的成员函数

class A{
	void fun() const;
}

(3)const修饰类对象
任何成员都不能修改,不能调用非const修饰的函数

在运算符重载中出现的const
出现在函数参数中,表示传入参数不允许修改,且不需要副本
出现在返回值之中
出现在成员函数后,

发布了73 篇原创文章 · 获赞 10 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/Jiiaaaoooo/article/details/101608791
今日推荐