//常量指针,格式: 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);