C++基础--const标识符与指针

const与指针

​ 1)使指针指向地址的内容无法被修改

struct a {
	int aaa;
};
int main() {
	struct a xxx = a{ 123 };
	const struct a* p = &xxx;
	//可以输出
	cout << p->aaa;
	//无法通过编译,因为const作用在 *p上
	p->aaa = 2222;
}

​ 2)使指针指向的地址无法被修改

struct a {
	int aaa;
};
int main() {
	struct a xxx = a{ 123 };
	struct  a* const p = &xxx;

	struct a xxx2 = a{ 234 };
	//无法通过编译,因为const作用在p上
	p = &xxx2;
}

3)两者均无法修改

const struct a* const p //无论是指向地址,还是指向地址所保存的数据,都无法通过p指针修改
posted @ 2020-12-06 16:34  lsxkugou  阅读(114)  评论(0编辑  收藏  举报