免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: 思一克
打印 上一主题 下一主题

[C++] C++的引用的传递和返回兼批判 [复制链接]

论坛徽章:
0
21 [报告]
发表于 2007-05-16 11:04 |只看该作者
原帖由 思一克 于 2007-5-16 09:16 发表
不是因为引用概念复杂
比如往前看才能确定。


原帖由 emacsnw 于 2007-5-16 09:48 发表


支持。允许参数是引用还有一个问题就是隐藏了函数可能产生的side effect。

  1. int x = 10;
  2. f(x);
  3. // what's the value of x now?
复制代码


在C里面,这个代码几乎保证 f 执行后x的值没变,而C++中则不一定

同意以上的看法。

论坛徽章:
0
22 [报告]
发表于 2007-05-16 11:10 |只看该作者
原帖由 ypxing 于 2007-5-16 10:41 发表


个人认为引用的意义还是很明确的

一个程序员在不了解一个函数时对它进行调用,
如果不想让参数改变,调用前就应该对参数进行保存.

不用引用,只用指针的话,比如void f(int *p)
你只知道p不变,而根本 ...


不了解一个函数,居然还敢调用它!!!真佩服楼上的两位!!
既然调用一个函数,必然知道它的函数原型,必然知道该函数的引用参数有没有加const

论坛徽章:
24
狮子座
日期:2013-12-31 10:48:0015-16赛季CBA联赛之吉林
日期:2016-04-18 14:43:1015-16赛季CBA联赛之北控
日期:2016-05-18 15:01:4415-16赛季CBA联赛之上海
日期:2016-06-22 18:00:1315-16赛季CBA联赛之八一
日期:2016-06-25 11:02:2215-16赛季CBA联赛之佛山
日期:2016-08-17 22:48:2615-16赛季CBA联赛之福建
日期:2016-12-27 22:39:272016科比退役纪念章
日期:2017-02-08 23:49:4315-16赛季CBA联赛之八一
日期:2017-02-16 01:05:3415-16赛季CBA联赛之山东
日期:2017-02-22 15:34:5615-16赛季CBA联赛之上海
日期:2017-11-25 16:17:5015-16赛季CBA联赛之四川
日期:2016-01-17 18:38:37
23 [报告]
发表于 2007-05-16 11:10 |只看该作者
原帖由 思一克 于 2007-5-16 10:36 发表
如果不引入,C++的某些事情不好做。


这就是引用的好处,不然  std::cout << " Hello World " << std::endl  都写不成了。

论坛徽章:
0
24 [报告]
发表于 2007-05-16 11:17 |只看该作者
原帖由 飞灰橙 于 2007-5-16 11:10 发表


不了解一个函数,居然还敢调用它!!!真佩服楼上的两位!!
既然调用一个函数,必然知道它的函数原型,必然知道该函数的引用参数有没有加const



这是版主提出的问题,呵呵

论坛徽章:
0
25 [报告]
发表于 2007-05-16 11:18 |只看该作者
原帖由 ypxing 于 2007-5-16 11:17 发表



这是版主提出的问题,呵呵


窃以为版主老大过渡思考,钻到牛角尖里去了

论坛徽章:
0
26 [报告]
发表于 2007-05-16 11:26 |只看该作者
发现一个以前没有注意到的问题

引用在C中不可用,这是C++中的东西,呵呵

以前很少用这东西,呼呼

论坛徽章:
0
27 [报告]
发表于 2007-05-16 11:43 |只看该作者
引用就是被引用变量的别名,是同一个玩意,那他们地址相同有什么奇怪的。
就如小明的爸爸和小明妈妈的丈夫住在XX楼一样。

论坛徽章:
0
28 [报告]
发表于 2007-05-16 11:44 |只看该作者
原帖由 林杰杰 于 2007-5-16 11:43 发表
就如小明的爸爸和小明妈妈的丈夫住在XX楼一样。


不一定是同一个人呦

论坛徽章:
0
29 [报告]
发表于 2007-05-16 11:45 |只看该作者
原帖由 ypxing 于 2007-5-16 11:44 发表


不一定是同一个人呦

考虑没有离过婚的大多数情况。。。。。。。

论坛徽章:
0
30 [报告]
发表于 2007-05-16 11:47 |只看该作者
原帖由 飞灰橙 于 2007-5-15 19:10 发表


不了解一个函数,居然还敢调用它!!!真佩服楼上的两位!!
既然调用一个函数,必然知道它的函数原型,必然知道该函数的引用参数有没有加const


这样说的话,加const就一定有用吗?函数实现的时候还可以const_cast后继续修改参数。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP