作者ej001 ( )
看板C_and_CPP
标题[问题] C++ 增加传参考的动机是什麽?
时间Sun Dec 20 20:20:06 2015
问题(Question):
在呼叫函式中, C 本来就有Call by value 和 Call by value of pointer 的功能
请问为什麽C++ 还要增加Call by reference的功能?
因为Call by reference 和 Call by value of pointer 这两种呼叫方式
都会修改到原本的变数, 而且当变数个数很多或值很巨大时, 也有节省记忆体空间的功用
似乎看不出为什麽要发明Call by reference的动机, 烦请解惑 谢谢
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 118.189.197.194
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/C_and_CPP/M.1450614009.A.6E0.html
1F:推 flyfoxy: 我觉得是1.在function内不用打(*ptr)-> 这种丑样子 12/20 20:22
2F:→ flyfoxy: 2.pointer可能会不知道指到哪里去 12/20 20:23
3F:→ Caesar08: 不用检查是不是nullptr,不能改变reference object 12/20 20:24
4F:→ Caesar08: 使用上就如同一般object,而且也不用new与delete 12/20 20:24
5F:推 flyfoxy: 抱歉 1.是指(*ptr). 或是 ptr-> 12/20 20:25
6F:→ ej001: 谢谢回答:-) 12/20 20:33
7F:推 littleshan: 增加reference type的主要原因在於operator overload 12/21 10:11
8F:→ littleshan: 像 std::vector 的 operator[],不回传ref会很难用 12/21 10:11
10F:推 storm654321: 只要一个&就好很方便啊O'_'O 12/21 11:48