作者csihcs (非天夜翔)
看板PLT
标题Re: [问题] 可否让阵列引数变成传值呼叫
时间Sun May 31 15:24:13 2009
※ 引述《godfat (godfat 真常)》之铭言:
: ※ [本文转录自 java 看板]
: 作者: godfat (godfat 真常) 看板: java
: 标题: Re: [问题] 可否让阵列引数变成传值呼叫
: 时间: Sun May 31 15:08:27 2009
: 虽然跟 java 关系不大了.. 不过还是稍微讲一下好了,
: 推文实在很难表达 @@
: ※ 引述《csihcs (非天夜翔)》之铭言:
: : 推 tkcn:Java 没有 Call by Reference 05/31 13:19
: : java 有这个词但是与C++的是不同的
: : 在昇扬 java 网站线上教学里面提到
: : http://java.sun.com/developer/onlineTraining/JavaIntro/contents.html#ReferenceVariableUsage
: : http://tinyurl.com/n6mqfo [上面网址的缩址/不放心可点上面的]
: : When the argument and parameter types are nonprimitive (a defined class),
: : this process is generally called call by reference
: : because the invoked method receives a copy of a reference value.
: 我讨厌 sun 的其中一点就是,他很多东西都让人搞得很混淆。
: 想我还没用过 java 前,对他的误解可大了 XDDDD
: 还不都是名词混用的关系... 而且 1.5/5.0 什麽的也让我觉得不舒服。
: 还看过台湾的书名写 Java2 5.0 不知道是啥东西 XD
: : 推 godfat:统一名词没什麽不好,很多地方by address/reference是一样的 05/31 14
: 我之所以说是一样的,是说两者意思是相同的,都是把 address 丢过去,
: 可以想像成 pointer of pointer. 这是根据之前 wikipedia:
: http://en.wikipedia.org/wiki/Evaluation_strategy
: 还有一些 google 之後的结果得到的结论。和很多台湾的书上所说是有点差距的。
: 但是... 现在 wikipedia 那页上,已经找不到 call by address 这个词了。
: 因此:
: : → csihcs:并不是说统一名词不好~而是C++的Reference,Java的Reference 05/31 14
: : → csihcs:是不同的,而C++中by address/reference 又有程度上的差异 05/31 14
: : 推 godfat:换另一个说法,其实我找不太到 by address 的说法出处 05/31 14
: : → godfat:google 只有第一笔符合,还是问问题,下面都无关了 05/31 14
: 这边我说找不太到这个名词的出处。当然以英文为主,毕竟这是英文的词.........
: 先不管他究竟是指什麽,还有他在台湾代表什麽意思。
: wikipedia 在这边修改过非常多次,应该是表示还在讨论该怎麽定「名词」吧?
: 如果要定的话,不觉得 by address 本来就是很混淆的说法?
: 如果是 by pointer 是否清楚得多?虽然 wikipedia 上也没这个词,
: 但我想知道 pointer 的人应该看就知道是什麽意思了,
: 反倒是 by address 的说法真的一大堆......
以个人认知上是觉得C++只有 call by value 和 call by reference,
而 Java 则只有 call by value,
Java 的 call by reference 其实也只是 C++ 的 call by value 中的一种,
而 call by address 一词,
曾听闻过那是只有台湾这边才有的,
国外并没有这一个词的出现,
故此 call by address 我在前文则尽可能以 call by value of pointer 表示。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 211.74.9.2
1F:推 SansWord:我的认知相反耶, C 只有 call by value吧? 06/02 16:40
2F:→ SansWord:只能把变数所在地点的值(也就是址)或着变数的值传过去 06/02 16:40
3F:→ SansWord:没办法传递变数本身 06/02 16:40
4F:→ godfat:C++ 和 C 不同 06/02 16:51