假设我正在实现一个集合,并且想向其中添加一个元素,类似。
template <typename T>
class MyCollection
{
add(const T& element);
};
现在,由于添加元素通常意味着复制它,因此出于效率原因,具有以下版本的添加add(T&& element)
。现在的问题是,两个函数的代码显然完全相同,只是参数类型不同。我的C ++命令目前受到限制,但是我想知道是否存在一种简单且惯用的方法来编写一次add
函数,而无需重写两次?
实际上,这是通过定义单个重载来解决的: