(5)const

#include <iostream>
using namespace std;

#define X 3 //const相比于define的好处是有类型的,在编译的时候要检查语法错误

void fun(const int &a, int const &b)
{
	//a = 10; 报错
	//b = 20; 报错
}
int main()
{
	int const a = 10; //a的值改变会报错
	int const *p = &a; //等价于const int *p = &a,改变*p报错;对于类型:把int换成double会报错
	cout << *p << endl;
	
	int b = 20;
	p = &b; //可以改变p的指代对象
	cout << *p << endl;

	int c = 30;
	int *const q = &b; //不能改变q的指代对象但是能改*q的值
	*q = 50;
	cout << b << endl;

	//int *p1 = &a;会报错,
					//权限大的指针接收权限小的变量是不允许的
					//权限小的来接收一个权限大的变量是允许的,见上

	const int &d = a; //d也不能改变值,const 和 int可以互相换位置
	cout << d << endl;

	system("pause");
	return 0;
}

猜你喜欢

转载自blog.csdn.net/nuc_sheryl/article/details/81086674