1.const修饰符可以对变量进行修饰,指定该变量的值是常量。编译器会对此进行检查,禁止对此常量进行修改。
const unsigned int ARRAY_SIZE1 = 20;
const unsigned int ARRAY_SIZE2 = 12;
上面两句代码指定了数组长度分别为20和12。
struct Student //学生结构体
{
char m_strName[ARRAY_SIZE1]; //姓名
char m_strID[ARRAY_SIZE2]; //编号
char m_cSex; //性别:'0':男 '1':女
char m_strMajor[ARRAY_SIZE1]; //专业
};
2.使用#define定义常量的不安全性
double d1 = 2.0;
#define C1 d1+d1 C1 = d1+d1
#define C2 C1*C1 C2 = d1+d1*d1+d1 错误
3.使用const取代#define
double d1 = 2.0;
const double C1 = d1 + d1;
const double C2 = C1 * C1;
4.指向常量的指针和常引用
double sub(const double *dp, const double &rd)
{
// *dp = 100.5; //不能修改指向常量的指针所指的内容
// rd = 12.7; //不能修改常引用所指变量的值
return *dp - rd;
}
不能修改指向常量的指针所指向的内容,也不能修改常引用所指变量的值。