gpt4 book ai didi

c++ - 什么时候使用指针成员变量?

转载 作者:行者123 更新时间:2023-11-28 02:25:19 24 4
gpt4 key购买 nike

我意识到这是一个非常基本的问题,但我想看一个示例,说明何时应该将我的一些类成员变量设置为指针。

我看到了这个类的定义:

template<class T>
class Node
{
public:
T data;
Node<T> * next;
Node<T>(const T& d):data(d), next() {}
Node<T>(const Node<T>& copyNode) : data(copyNode.data), next() {}

private:
Node<T>& operator=(const Node<T>&);
};

而且我不确定为什么 next 应该是指针成员变量?

最佳答案

为了论证,假设您没有将 next 声明为指针,而是一个值:

Node<T> next;

然后,当您分配给 next 时,您会创建原始对象的新拷贝,从而导致您拥有两个不相关且不相关的拷贝。

指针顾名思义,它指向其他对象。这就像在说“下一个对象是那边的那个”。

指针对于任何需要动态的东西都是必不可少的,比如链表。

关于c++ - 什么时候使用指针成员变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30907171/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com