C++ 引用的指针和指针的引用

C++不允许定义引用的指针,因为引用本身只是与另一个对象绑定在一起的该对象的别名,而并非一个对象,所以标准规定不能定义指向引用的指针报错

int a = 20;
int &*ptr = &a;// error

参考<< C++ Premier 第五版>>,想要看懂声明符ptr的具体类型是什么,最简单的办法就是从右往左读,离变量名最近的符号对其类型有最直接的影响(此处是*,表示其首先是个指针,指针的类型是一个int型引用)。
但是由于指针是个对象,所以定义一个指针的引用是可以的:

int a = 20;
int *&b = &a;// ok
发布了24 篇原创文章 · 获赞 15 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/ck1n9/article/details/79365407