1

我的老师为链表上的作业设置了一些框架代码。

在标题中,定义了两个类: string_nodestring

在字符串定义中,有一个私有变量mutable string_node* cursor;

现在在实际实现中,我尝试使用游标作为对我创建并要修改的节点的引用。IE:

for (cursor_index = 0; cursor_index < many_nodes; cursor_index++){
        cursor = new string_node(str[cursor_index]);

我不确定这是否正确,所以首先,如果这是错误的,谁能告诉我我应该怎么做?

我认为它是错误的,因为我无法访问节点的数据并通过光标链接到其他节点,因为它是一个指针(我希望能够只做 cursor.data 甚至设置 get 和 set 方法,尽管我不是确定我为什么需要,如果有人想向我解释)。

所以主要问题是能够在实现中设置节点的数据/链接。

4

2 回答 2

1

有两种方法可以从指针中获取信息。

首先是取消引用它:

string_node &mynode = *cursor;
mynode.whatever;

第二种(更好的方法)是使用解引用运算符(它的作用相同但更优雅):

cursor->whatever;

继续您的方法:也许我对相关问题的回答会帮助您:如何将动态数组中的数组指向某物?

您还可以从 Wikipedia 的伪代码中获得一些帮助:http ://en.wikipedia.org/wiki/Linked_list#Linked_list_operations

于 2013-03-05T20:32:13.243 回答
0

要回答您最初的问题:您需要“->”运算符。它相当于“。” 指向对象的指针的运算符。

于 2013-03-05T20:31:58.427 回答