c++11 - 每个接受左值引用的函数都应该重载以接受右值引用吗?
问题描述
假设我有这样的功能:
auto funct(T const& lhs) { ... };
这个函数通常可以通过窃取资源来优化,所以我们可以如下重载它:
auto funct(T&& lhs) { ... };
知道临时值被隐式转换为右值引用,这实际上会在窃取相关时提高性能。
我应该像这样重载每个函数吗?这似乎导致了很多代码重复......如果我是对的,这种重复可以避免吗?
解决方案
推荐阅读
- rust - 无法为自定义特征实现 io::Read
- ios - iOS 定期后台处理通知和重新安排
- r - r filter() 问题:plotly vs ggplot
- python - Networkx 图在我的模型文件中具有更多节点
- python - 如何解决python中的编码错误?
- javascript - 如何获取数组元素有一步0.1
- laravel - 如何正确分组 Laravel Query Builder 中的 where 子句
- java - 从文件中读取对象 - 消失的引用
- sql-server - Azure AD 用户无法连接到 Azure SQL 错误:18456,状态:1,类:14
- django-views - 将变量传递给 Django 表单类