我的部分家庭作业是实现一个通用链表。到目前为止,我写了这个函数:
template<class T>
void List<T>::insert(const T& data)
{
List<T>::Node* newNode = new List<T>::Node(data);
newNode->next = nullptr;
if (head == nullptr)
{
head = newNode;
tail = newNode;
}
else
{
tail->next = newNode;
tail = newNode;
}
size++;
}
如您所见,我通过引用获取数据,但我也可以通过值获取数据。我的问题是哪种方法更好,为什么?