- 论坛徽章:
- 0
|
我是一口气看完的
因为很过瘾,一直在想另一方会怎么回答
所以会有有点儿囫囵吞
我在下面这个地方起了一个反复
原帖由 ypxing 于 2007-5-16 10:41 发表
个人认为引用的意义还是很明确的
一个程序员在不了解一个函数时对它进行调用,
如果不想让参数改变,调用前就应该对参数进行保存.
不用引用,只用指针的话,比如void f(int *p)
你只知道p不变,而根本不知道*p会不会变
同样会造成你所说的一些问题
int i;
f(&i); /*调用后你也不知道i变不变,要想i不变,只能事先保存它,因为f不是你定义的,你不能改变它,
只能使用它*/
[ 本帖最后由 ypxing 于 2007-5-16 10:50 编辑 ]
这里给我的第一印象是ypxing占了上风,
心想版主会怎么回答,
这一想才发现ypxing的例子好像并不太能证明什么,更像一个陷阱,呵呵
ypxing前后的话都挺还挺中肯的,就是跟这个例子有关让我不太舒服,
而且好像就是从这帖后开始有点儿较针儿,呵呵
由于没有心理准备,这句话让我乐了半天
原帖由 emacsnw 于 2007-5-16 11:47 发表
这样说的话,加const就一定有用吗?函数实现的时候还可以const_cast后继续修改参数。
原帖由 飞灰橙 于 2007-5-16 11:10 发表
不了解一个函数,居然还敢调用它!!!真佩服楼上的两位!!
既然调用一个函数,必然知道它的函数原型,必然知道该函数的引用参数有没有加const
如果是读代码的话,
要是每个函数都要看原形,那也太痛苦了
我希望尽量少看,不想增加这种负担
原帖由 DraculaW 于 2007-5-16 16:15 发表
java不就是全都是引用么
从语法上讲看到java应该会想到c
尽管人们一直在说那是对象传引用
但是事后我感觉这么说只能增加我学习过成中的混乱
直接说传值的会让我更舒服
只是旁观者的感受,仅供参考
有错误请指正,
有脾气请跟我一起深呼吸
大口吸气,吸----------------------------------------------------------------------------------
大品呼气,呼---------------------------------------------------------------------------------- |
|