【发布时间】:2017-09-20 04:02:24
【问题描述】:
我正在用 C++ 编写一个用于单链表的模板,我对删除第一个节点时返回第一个节点信息的正确方法感到困惑。
我从一本书中获得了一些帮助,其中写了两种方法,一种是返回头节点的值,另一种是删除它。让我们称其为 front() 和 pop() 方法,其中 front() 返回具有“const T&”类型的值。我的一个问题是,如果我这样做:
T object = list.front();
list.pop();
这不会导致对象引用指向任何内容吗?如果我在调用 pop() 后继续使用该对象有什么问题吗?
第二个问题是,使用front()方法的正确方法是什么,两者有什么区别:
T object = list.front();
// or
T& object = list.front();
// or
const T& object = list.front();
【问题讨论】:
-
object是一个对象,而不是对对象的引用。它没有指向。
标签: c++ list reference linked-list singly-linked-list