我有一个队列的模板类。我还希望能够存储包含在 std::unique_ptr 中的对象。
普通模板特化是不可能的,因为 std::unique 指针可以用任何类型实例化。
队列代码是这样的:
bool TQueue<T>::Push(const T& item)
{
m_Mem[currTail] = item;
}
bool TQueue<T>::Pop( T& item )
{
item = m_Mem[currHead];
}
当我需要做 m_Mem[curtail] = std::move(item) 时,如何使这项工作也适用于 std::unique_ptr 类型