指针和引用的区别

本文详细对比了C++中指针与引用的主要区别,包括初始化方式、可变性及使用场景等,并介绍了C++11引入的右值引用特性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

指针和引用的区别:

1.引用必须初始化即无法定义空引用,指针定义可以不初始化,即空指针或者野指针。

2.引用一旦初始化,无法再引用其他对象,指针则 可以重新指向其他对象即重定向。

3.可以定义指针的引用,但无法定义引用类型的指针变量。

4.可以定义指向指针的指针(N级指针),但只能定义一级引用。

    C++11标准下可以定义

    int &&y = 10;

    表示右值引用;

    不像int** y表示二级指针;

    如何评价 C++11 的右值引用(Rvalue reference)特性?

     详解C++右值引用
 
5.可以定义存放指针的数组,但是无法定义存放引用的数组。


注意:

引用即对象的别名,无实体所以无法定义指向引用的指针。但是引用一旦初始化,就可以像其引用的目标一样使用。

即可以对引用取地址,实际取得是其引用的目标的地址。

如:

int x = 10;

int &y = x;

cout << &x << '  ' << &y << endl;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值