C++ 2.3 引用和指针


指针

和 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;
发布了400 篇原创文章 · 获赞 364 · 访问量 162万+

猜你喜欢

转载自blog.csdn.net/jjwwmlp456/article/details/89605295