C++ 指针常量VS常量指针

本文详细介绍了C++中的两种特殊指针类型:常量指针和指针常量。常量指针不可改变其指向的内容,但可以改变指针本身;指针常量则相反,其地址不可变,但可以修改所指内容。通过示例代码,解释了这两种指针类型的使用和限制,帮助理解C++中指针的高级概念。
摘要由CSDN通过智能技术生成
	//常量指针,格式: const *	(指针地址可变,指针指向的内容不可以通过该指针修改;)
	std::cout << "-------- 常量指针,格式: const * --------" << std::endl;
	int const * cpConstPointer = new int(9);	//格式1
	//const int* cpConstPointer = new int(9);	//格式2
	std::cout << *cpConstPointer << std::endl;	//9
	int* pNConst = new int(10);
	//*nConst = 10;								//错误	C3892 : 不能给常量赋值
	cpConstPointer = pNConst;
	std::cout << *cpConstPointer << std::endl;	//10

	std::cout << std::endl;
	//指针常量,格式: * const (指针地址不可变,指针指向的内容)
	std::cout << "-------- 指针常量,格式: * const --------" << std::endl;
	int * const cpPointerConst = new int(9);	//9
	std::cout << *cpPointerConst << std::endl;
	int* pNotConst = new int(10);
	*cpPointerConst = 10;
	//cpPointerConst = pNotConst;				// 错误	C3892 : 不能给常量赋值 
	std::cout << *cpPointerConst << std::endl;	//10

指针
1.指针常量(* const):指针地址不可变,如:*this;
2.常量指针(const *):指针指向的内容不可变,如:const int* pContentIsConst;
3.常量指针常量(const * const):指针地址和指针指向的内容都不可变,如 const this * const;(拷贝构造(const MyClass& )调用常量接口的this);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值