代码之家  ›  专栏  ›  技术社区  ›  Magix

是否应该重载接受左值引用的每个函数以获取右值引用?

  •  0
  • Magix  · 技术社区  · 5 年前

    假设我有这样一个函数:

    auto funct(T const& lhs) { ... };
    

    这个函数通常可以通过窃取资源来优化,因此我们可以按如下方式重载它:

    auto funct(T&& lhs) { ... };
    

    知道临时值隐式地转换为rvalue引用,这实际上会在与窃取相关时提高性能。

    我应该像这样重载每个函数吗?这似乎会导致大量的代码重复…如果我是对的,可以避免这种重复吗?

    0 回复  |  直到 5 年前