变量和基本类型
一.复合类型
1.引用
引用为对象起另一个名字,引用必须初始化。
int ival = 1024; int &refval = ival; int &refval2; //错误,引用必须初始化 refval = 2; //把2赋给refval指向的对象,即赋值给ival
引用的类型都要和与之绑定的对象严格匹配
int &refval = 10; //错误,引用类型的初始值必须是一个对象 double dval = 3.14; int &sval = dval //错误,引用类型的初始值必须是int类型对象
2.指针
获取对象地址,使用取地址符(&),访问对象使用解引用符(*)
void * 是一种特殊的指针类型,可用于存放任意对象的地址
二.const
1.const的引用
对常量的引用不能被用作修改它所绑定的对象
const int ci = 1024; const int &r1 = ci; r1 = 42; //错误,r1是对常量的引用 int &r2 = ci; //错误,试图让一个非常量引用指向一个常量对象
2.指针和const
1.要想存放常量对象的地址,只能使用指向常量的指针,指向常量的指针不能用于改变其说指向对象的值。
const double pi = 3.14; double *ptr = π //错误,ptr是一个普通指针 const double *cptr = π *cptr = 42; //错误,不能给*cptr赋值 double dval = 4.3; cptr = &dval; //正确,但是不能通过cptr改变dval的值
2.指针本身定义为常量为常量指针,常量指针必须初始化,而且一旦初始化完成,它的值(也就是存放在指针中的那个地址)就不能改变了,把*放在const之前说明指针是一个常量
int errNumb = 0; int *const curErr = &errNumb; //curErr将一直指向errNumb const double pi = 3.14; const double *const pip = π //pip是指向常量对象的常量指针 *pip = 2.72; //错误,pip是指向常量的指针 *curErr = 0 ; //正确,把curErr所指的对象的值重置
三.处理类型
1.类型别名--关键字typedef
2.

浙公网安备 33010602011771号