const int* a = new int; //不能改变指针所指向地址的值,只改变地址
int const* a = new int; //和const int*一样
int* const a = new int; //可以改变指针指向地址的值,但地址不变
结论图
#include <iostream>
int main()
{
int change = 200;
int num_a = 100;
int num_b = 100;
const int* a = &num_a;//*a = 2;
std::cout << "&change = " << &change << std::endl;
std::cout << std::endl;std::cout << "Before change,&num_a = " << &num_a << std::endl;
std::cout << "Before change,a = " << a << std::endl;a = &change;
std::cout << "------const int* a = &num_a;-------<a = &change>" << std::endl;
std::cout << "After change,&num_a = " << &num_a << std::endl;
std::cout << "After change,a = " << a << std::endl;
std::cout << std::endl;
std::cout << "After change,*a = " << *a << std::endl;
std::cout << "After change,num_a = " << num_a << std::endl;
std::cout << std::endl;std::cout << "&change = " << &change << std::endl;
std::cout << "------int* const b = &num_b;-------<*b = change>" << std::endl;
std::cout << std::endl;
int* const b = &num_b;
*b = change;
std::cout << "Before change,&num_b = " << &num_b << std::endl;
std::cout << "Before change,b = " << b << std::endl;std::cout << std::endl;
std::cout << "After change,b = " << b << std::endl;
std::cout << "After change,&num_b = " << &num_b << std::endl;
std::cout << std::endl;
std::cout << "After change,*b = " << *b << std::endl;
std::cout << "After change,num_b = " << num_b << std::endl;return 0;
}