指针
和 c 语言中的指针,使用上没什么区别
int *p = 100; //定义指针变量 p,指向的值为100
cout << *p << endl; //以指针运算符 *,获取指针变量指向的值
cout << &p << endl; //以地址符 &,获取指针变量的 内存地址
空指针值
cpp11 新增了一个 空指针值 nullptr
。 c98使用 NULL。
int *p = nullptr;
int *q = NULL;
其它
如,函数的指针;指针的指针 …
引用
相当于对变量取别名。
int n = 100;
int &p = n; //定义时必须初始化;必须是指向一个变量,而不能是字面值常量
更变引用的值,会改变指向变量的值。
引用的指针
声明一个指针,指向一个引用变量
int iv = 1024;
int &iva = iv;
int *q = &iva;
cout << iv << endl;
cout << iva << endl;
cout << *q << endl;
都会输出1024
指针的引用
对指针变量取别名。声明的是 指针引用 *&
int iv = 1024;
int &iva = iv;
int *q = &iva;
int *&p = q;
cout << *p << endl;
声明连续变量
指针和引用一样,在声明连续变量时,需要分别指定每个变量
int *a, *b, *c;
int *&aa=a, *&bb=b, *&cc=c;