c++中引用与指针有什么区别?c++代码例子

1.定义方式不同:

引用是变量的别名,在定义时必须初始化,并且不能改变引用对应的变量。

指针是一个存储变量地址的变量,在定义时不需要初始化,可以随时指向其他变量。

2.访问方式不同:

引用直接访问变量,无需解引用。

指针需要解引用操作符(*)来访问变量。

3.内存占用不同:

引用不占用额外内存空间。

指针需要占用一个指针变量的内存空间来存储地址。

#include <iostream>  

int main() {  
   // 引用示例  
   int x = 10;  
   int& ref_x = x; // ref_x是x的别名  
   std::cout << "x: " << x << ", ref_x: " << ref_x << std::endl; // 输出x: 10, ref_x: 10  

   ref_x = 20; // 通过引用修改x的值  
   std::cout << "x: " << x << ", ref_x: " << ref_x << std::endl; // 输出x: 20, ref_x: 20  

   // 指针示例  
   int y = 30;  
   int* ptr_y = &y; // ptr_y指向y的地址  
   std::cout << "y: " << y << ", *ptr_y: " << *ptr_y << std::endl; // 输出y: 30, *ptr_y: 30  

   *ptr_y = 40; // 通过指针修改y的值  
   std::cout << "y: " << y << ", *ptr_y: " << *ptr_y << std::endl; // 输出y: 40, *ptr_y: 40  

    return 0;  
}  

在这个例子中,我们首先定义了一个整型变量x,并通过引用ref_x来访问它。我们可以看到,通过ref_x修改x的值,xref_x的值会同步更新。

接下来,我们定义了另一个整型变量y,并通过指针ptr_y来访问它。我们可以看到,通过解引用ptr_y来修改y的值,y*ptr_y的值也会同步更新。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值