如何定义一个函数来使用移动语义和复制语义?

问题描述 投票:0回答:1

假设我正在实现一个集合,并且想向其中添加一个元素,类似。

template <typename T>
class MyCollection
{
    add(const T& element);
};

现在,由于添加元素通常意味着复制它,因此出于效率原因,具有以下版本的添加add(T&& element)。现在的问题是,两个函数的代码显然完全相同,只是参数类型不同。我的C ++命令目前受到限制,但是我想知道是否存在一种简单且惯用的方法来编写一次add函数,而无需重写两次?

c++ move-semantics
1个回答
1
投票

实际上,这是通过定义单个重载来解决的:

© www.soinside.com 2019 - 2024. All rights reserved.