首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在C++11中,按值传递是一个合理的默认值吗?

在C++11中,按值传递是一个合理的默认值吗?
EN

Stack Overflow用户
提问于 2011-09-29 12:59:33
回答 2查看 26.5K关注 0票数 144

在传统的C++中,通过值传递到函数和方法对于大型对象来说速度很慢,而且通常不受欢迎。取而代之的是,C++程序员倾向于传递引用,这更快,但这引入了关于所有权的各种复杂问题,特别是关于内存管理(在对象是堆分配的情况下)

现在,在C++11中,我们有了Rvalue引用和移动构造函数,这意味着可以实现一个大型对象(如std::vector),通过值传入和传出函数的成本很低。

那么,这是否意味着默认情况下应该通过值传递std::vectorstd::string等类型的实例呢?那么对于自定义对象呢?新的最佳实践是什么?

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7592630

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档