初学C++,简单总结一下,又不对的地方希望大神指正:
//1.对象为常量,对象不可变,被指向的指针为常量:
const double minWage = 1.2343;//对象一旦确定,不能改变,不能对其进行赋值,定义的时候就要把值赋好
const double *pc = &minWage;//指针地址为常量,指向minWage的地址
//double *pc = &minWage;//试图将一个非const对象的指针指向一个常量对象的动作都将引起编译错误
//2.指针地址为常量,指针地址不可变,指向对象的值可变:
double minWage = 1.2343;//此处为变量
const double *const pc = &minWage;//指针地址为常量,指向minWage的地址
minWage = 12345.6;//改变指针地址所指向对象的值
cout << "pc == "<<*pc<<endl;//输出为12345.6
//3.指针为常量,指针地址可变,但是所指向的对象必须为常量:
const double minWage = 1.2343;
const double *pc = 0;
const double aa = 124;
pc = &minWage;
pc = &aa;
cout << "pc == "<<*pc<<endl;//输出的值为124
//4.对象和指针都为常量,对象和指针都不可变:
const double pi = 3.14159;
const double *const pi_ptr = π