我目前正在参加斯坦福在线CS106B提供的入门编程课程。在“链表”结构中,教授实施了此代码,但我无法解决。
Entry *GetNewEntry(){
cout << "Enter name (ENTER to quit):";
string name = GetLine();
if (name == "") return NULL;
Entry *newOne = new Entry; // allocate in heap
newOne->name = name;
cout << "Enter address: ";
newOne->address = GetLine();
cout << "Enter phone: ";
newOne->phone = GetLine();
newOne->next = NULL; // no one follows
return newOne;
}
任何人都可以帮助我理解为什么在函数名称之前有一个解引用运算符。如果我们删除它会发生什么变化?我曾尝试用Google搜索它,但未收到满意的答案。
函数的返回值GetNewEntry
是类型的指针Entry *
。
如果*
按原样从代码中删除了,则最终将返回a Entry
,并且代码将无法编译,因为newOne
是Entry *
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句