C++返回引用类型 指针的引用


C++返回引用类型
A& a(){ return *this;} 就生成了一个固定地址的指针,并把指针带给你 

但A a() { return *this;}会生成一个临时对象变量,并把这个临时变量给你 
这样就多了一步操作 

当返回一个变量时,会产生拷贝。当返回一个引用时,不会发生拷贝,你可以将引用看作是一个变量的别名,就是其他的名字,引用和被引用的变量其实是一个东西,只是有了两个名字而已。 

问题的关键是,当你想要返回一个引用而不是一个拷贝时,你要确保这个引用的有效性,比如: 
int & fun() { int a; a=10; return a; } 
这样是不行的,因为a会在fun退出时被销毁,这时返回的a的引用是无效的。 
这种情况下,如果fun的返回类型不是int & 而是int就没有问题了。


指针的引用
GetNearestFontInTwips(CFont *&aFont, const TFontSpec &aFontSpec);

第一个参数aFont是一个指针, 前面加上*&表示指针的引用, 其实可以如下看待这个方式(CFont*) &aFont, 这就一目了然了.
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值