==================================================================== 1、有空指针,但没有“空引用” 2、有指针的指针,但没有引用的引用 3、有函数指针,但没有函数的引用 4、有指针数组,但没有引用的数组 5、指针有 void * 类型,引用就傻眼了。 ==================================================================== 下面是可以用引用,但不能用指针的: 1、const 引用可以绑定到右值(rvalue),而指针必须指向一个地址。 example: 1.1)const int &r = 0; // 初始化为常量 1.2)c++ 类中常用的,用 const 引用引用到临时对象 ==================================================================== 再说一个 const 引用跟 const 指针行为不同的: 绑定到不同类型时,const 引用会绑定到临时变量上,而对指针则不是: 上代码: 5 int main() 6 { 7 float f = 0.0; 8 const int *p = (const int *)&f; // 不同类型的指针绑定 9 const int &r = f; // 不同类型的引用绑定 10 cout << (int)f << " " << *p << " " << r << endl; 11 f = 1.0; 12 cout << (int)f << " " << *p << " " << r << endl; 13 } 改变了 f 的值之后,*p 的值改变了,而 r 的值还是 0. 因为在 r 实际上绑定到了一个值为 0 的 int 类型的 tmp 对象上去了。
指针与引用
最新推荐文章于 2025-09-07 18:41:56 发布
