PTT
Submit
Submit
选择语言
正體中文
简体中文
PTT
C_and_CPP
[问题] C++ 增加传参考的动机是什么?
楼主:
ej001
( )
2015-12-20 20:20:06
问题(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的动机, 烦请解惑 谢谢
作者:
flyfoxy
(飞狐)
2015-12-20 20:22:00
我觉得是1.在function内不用打(*ptr)-> 这种丑样子2.pointer可能会不知道指到哪里去
作者:
Caesar08
(Caesar)
2015-12-20 20:24:00
不用检查是不是nullptr,不能改变reference object使用上就如同一般object,而且也不用new与delete
作者:
flyfoxy
(飞狐)
2015-12-20 20:25:00
抱歉 1.是指(*ptr). 或是 ptr->
楼主:
ej001
( )
2015-12-20 20:33:00
谢谢回答:-)
作者:
littleshan
(我要加入剑道社!)
2015-12-21 10:11:00
增加reference type的主要原因在于operator overload像 std::vector 的 operator[],不回传ref会很难用可以参考一下C++ FAQ
https://goo.gl/eZsppS
作者:
storm654321
(P助)
2015-12-21 11:48:00
只要一个&就好很方便啊O'_'O
继续阅读
[赠书] c++ primer 3/e 中文版+题解
aknow
[问题] UVA10735 Euler Circuit
kilettt
[问题] if的简洁版
wu110011
[问题] OPENGL贴图Z方向没办法 REPEAT
noodleT
[问题] 电脑白痴遇到问题求解
lkjfds
[问题] 动态连结OS内建的msvcrt
fo40225
[分享] Boost 1.60.0
saxontai
[问题] C++ class的实作问题(解决)
kiwistar
[问题] 成员变量一开始宣告成空指标有比较快吗?
ResolaQQ
[问题] QT使用mysql连线数据库
makuebx
Links
booklink
Contact Us: admin [ a t ] ucptt.com