为什么在函数名称中使用了取消引用的“ *”运算符?

伊卡1991

我目前正在参加斯坦福在线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搜索它,但未收到满意的答案。

x

函数的返回值GetNewEntry是类型的指针Entry *

如果*按原样从代码中删除了,则最终将返回a Entry,并且代码将无法编译,因为newOneEntry *

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章