我正在重新实现 C++ STL 库中的一些方法。还有一个关于通用交换实现的问题:我应该const
对临时变量使用修饰符吗?
有我的变种:
template<typename T>
void swap(T& a, T& b)
{
const T tmp = a;
a = b;
b = tmp;
}
更新:
我检查了几个 STL 实现;有些人使用 const 而其他人则没有。
我认为,使用 const 可能会限制swap
...
我想编写可移植的实现,它是最通用的(接受大多数类)。