水木社区手机版
首页
|版面-C++程序设计语言(CPlusPlus)|
新版wap站已上线
返回
1/1
|
转到
主题:智能指针作为参数到底传引用还是直接传有定论没有?
4楼
|
z16166
|
2024-12-19 21:45:15
|
展开
智能指针,就是顶多两个机器字长吧,
shared_ptr有两个成员,一个引用计数,一个裸指针。
unique_ptr就一个裸指针成员。
顶多两个机器字长的,传值是没性能问题的,std::string_view就是这样的。
但传值还是传引用,更重要的是取决于怎么用这个智能指针吧
--
修改:z16166 FROM 221.218.167.*
FROM 221.218.167.*
6楼
|
z16166
|
2024-12-21 17:50:39
|
展开
chatgpt帮你总结的
1、传值:当需要改变智能指针的所有权(如std::unique_ptr)或明确共享所有权(如std::shared_ptr)时使用。
2、传引用:当只需要只读访问或避免额外性能开销时,使用引用传递(包括const引用)。
每种选择的关键是明确使用意图和所有权管理需求,而不是单纯考虑智能指针的大小。
--
FROM 221.218.167.*
1/1
|
转到
选择讨论区
首页
|
分区
|
热推
BYR-Team
©
2010.
KBS Dev-Team
©
2011
登录完整版