c++ - 在同一函数中使用指针和引用作为返回类型

标签 c++

所以我在查看一些代码时发现了这个。

class Data{
 private:
  int data;
  Data* next;
 public:
   Data(int d=0): data(d), next(NULL) {}
   void SetData(int d) { data = d;}
   int  GetData() { return data; }
   Data*& GetNext() { return next; }
 }

GetNext() 返回类型是引用和指针作为返回类型。这是什么意思?

最佳答案

X * 是指向 X 的指针。

T & 是对 T 的引用。如果 T 恰好是指针类型,那么它就是对指针的引用:X* & 是对 X* 的引用。

因此,Data*& 是对指向 Data 的指针的引用。

关于c++ - 在同一函数中使用指针和引用作为返回类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55734338/

相关文章:

c++ - 用于访问系统资源信息的多平台库

c++ - 使用散列从链表中删除重复项

c++ - 如何使用 Python 和/或 Lua 编写可编写脚本的讨厌的 C++ 程序?

c++ - logx(n) 的库函数

c++ - 连接字符串文字上的 c_str() 是否安全?

c++ - 为什么在 C++ 中显式调用构造函数

c++ - 如果winsock2套接字是非阻塞的,与其关联的SSL对象是否也会表现出非阻塞行为?

c++ - 在 std::map 中使用 std::less 无法编译

c++ - 我应该默认虚拟析构函数吗?

c++ - WinAPI单击第一个对话框上的按钮控件并销毁第一个对话框后,创建第二个对话框