C++为什么用引用

转载自:http://hi.baidu.com/chen_767/item/bf580c87c3d7bd28100ef3c3

引用类型通常被用于主子函数间需要互相传递大量数据的设计之中, 从而减少大量数据经过堆栈的复制.

在C语言中, 主子函数要对非全局变量实施写操作时, 只能通过传递实(形)参的指针(地址)来实现.

直接使用指针很容易造成地址溢出的错误, 而用C++语言编制的同类程序中可使用引用类型使得传递的实参

和形参都指向同一个内存地址, 即减少了大量数据经过堆栈的复制, 又避免了地址溢出的错误的发生.

==============================

#include<stdio.h>

void t(int&);
int main()
{
int i = 0;
t(i);

printf("i = %d\n", i);

return 0;
}

void t(int &ip)
{
printf("ip = %d\n", ip++);
}

==============================

引用ip与指针传递不一样的是引用并非内存实体, 是在编译阶段就把这2个符号的地址等同起来,

到运行阶段后实际玩具传递的仍然是i的地址.

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值