参数传递和返回值
一、pass by value vs. pass by reference(to const)
pass by value:这个数据有多大,就整个包传递,压入到栈中。尽量不要这样传。
pass by reference:像指针但是更漂亮。引用在底部就是个指针,尽量都传引用。例子中传引用且加了const,不希望传过去被更改。
二、return by value vs. return by reference(to const)
可以的情况下,返回值的传递也尽量用by reference。
什么时候不能返回引用:例如,传入两个参数为两个复数,该函数实现一个复数的加法,这时候要在函数内部新创建一个结果。因为函数一结束,这个东西就死亡了,但是却传了一个引用出去,这时候不能传引用。
friend:友元。例子中的友元函数,可以直接拿private中的实部虚部。相当于打破了封装。
三、注意:相同class的各个objects互为友元
没有写friend,但是标黄色的可以直接拿实部虚部。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!