这是关于实现c ++列表的任务,因此如果有人要问“为什么不使用[非常方便的东西]而不是列表”,答案是问我的教授,而不是我。我也无法更改标题。请注意,此版本的列表仅必须能够接受int数据类型。假设我假设已经实现了list的所有其他功能。
首先,我已经尝试过了,但是没有意识到我无法遍历常量的l(所以没有l.curr = l.curr-> next等)。
Linkedlist& Linkedlist::operator=(const Linkedlist& l)
{
if (this != &l)
{
this->clear();
l.curr = l.head;
for (int i = 0; i < l.numElem; i++)
{
this->push_back(l.curr->data);
}
}
return *this;
}
我也尝试过这样做,但是由于它是常数,所以我不能再以任何形式修改l。类型限定符不兼容。
Linkedlist& Linkedlist::operator=(const Linkedlist& l)
{
if (this != &l)
{
this->clear();
for (int i = 0; i < l.numElem; i++)
{
this->push_back(l.front());
l.pop_front();
}
}
return *this;
}
对不起/让我知道是否需要提供更多信息。
答案 0 :(得分:1)
我无法遍历不变的
<application ... android:usesCleartextTraffic="true" ...> ... </application>
(因此l
等都没有)。
这不是您遍历对象节点的方式。您可以使用:
l.curr = l.curr->next
您可以使用:
for (auto iter = l.head; iter != nullptr; iter = iter->next )
{
}