作者Lordaeron (Terry)
看板PLT
标题Re: [问题] 请问call by address
时间Sun Apr 1 00:32:55 2007
※ 引述《tinlans ( )》之铭言:
: 是同一种东西没有错,
: 建议尽量以教科书为准,
: 网路资讯为辅,
: 毕竟 wiki 是什麽都人可以去 edit 的,
: 你无聊的话也可以看看那篇的 history,
: 不过我 reply 这篇的时候 wikipedia 挂了,
: 不知道几时才能再进去。
: 在 C/C++ 分辨这种东西很单纯是看 call site 怎样写,
: 不经型别转换就自动取 lvalue 丢进去那就是 by address/reference,
: 其余的都是 by value,
: 在 C 要送变数的 address/reference 只能用 address-of 运算子取出 lvalue,
: 但这样会 explicit 构成一个 temporary object (programmer 可见),
: 所以送过去的会是 temporary object 的 value,
: 也因此这个还是 call by value。
C 有object?
还是C++?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.229.167.210
1F:推 jtmh:这里的 object 指的是 variable, 在 K&R C 那本常看到这麽用 04/01 00:48
2F:推 tinlans:一楼正解,PL 教科书和 C 标准规格书也会这样用。 04/01 08:35
3F:推 caml:c的传值会生成temp obj?? c++学太多了吧 04/01 09:40
4F:推 Lordaeron:这就是问题了, object 以现在的眼光来看, 另有意义了. 04/01 09:59
5F:推 tinlans:回三楼,&var 确实会生成一个 temp obj。 04/06 03:37