我的老师为链接列表上的作业设置了一些框架代码。
在标题中,定义了两个类:
string_node
和string
在字符串定义中,有一个私有变量mutable string_node* cursor;
现在在实际实现中,我正在尝试使用cursor作为对我创建并想要修改的节点的引用。 IE:
for (cursor_index = 0; cursor_index < many_nodes; cursor_index++){
cursor = new string_node(str[cursor_index]);
我不确定这是否合适所以首先,任何人都可以告诉我,如果这是错误的我应该怎么做?
我认为它是错误的,因为我无法访问节点的数据并通过游标链接到其他节点,因为它是一个指针(我希望能够只做cursor.data甚至设置get和set方法,尽管我我不知道为什么我需要,如果有人想向我解释这一点。
因此,主要问题是能够在实现中设置节点的数据/链接。
答案 0 :(得分:1)
有两种方法可以解决问题。
首先是取消引用它:
string_node &mynode = *cursor;
mynode.whatever;
第二种(更好的方法)是使用解除引用操作符(它做同样但更优雅):
cursor->whatever;
转到您的方法:也许我对相关问题的回答会对您有所帮助:How to point an array inside a dynamic array to something?
您可能也会从维基百科的伪代码中获得一些帮助:http://en.wikipedia.org/wiki/Linked_list#Linked_list_operations
答案 1 :(得分:0)
回答您的初步问题:您想要“ - &gt;”运营商。它相当于“。”指向对象的指针的运算符。