【发布时间】:2021-10-14 19:53:33
【问题描述】:
我正在解决 Leetcode 中的 Clone Graph,但是我在以下代码中遇到了问题
class Node {
public:
int val;
vector<Node*> neighbors;
Node() {
val = 0;
neighbors = vector<Node*>();
}
Node(int _val) {
val = _val;
neighbors = vector<Node*>();
}
Node(int _val, vector<Node*> _neighbors) {
val = _val;
neighbors = _neighbors;
}
};
声明neighbors = vector<Node*>(); 是什么意思。更具体地说,vector<Node*>()。为什么后面是括号?
【问题讨论】:
-
Node a = Node()会做什么? -
LeetCode 等网站假定您知道解决问题所使用的计算机语言。如果你问这样的关于 C++ 的基本问题,也许你选择了错误的语言来尝试解决 LeetCode 问题。 LeetCode 和其他类似的网站并不在教你 C++。
-
获取您最喜欢的关于
c++的书籍并查找构造函数。 -
这里什么都不做,因为
neighbors已经用它的默认构造函数初始化了。
标签: c++ vector constructor default-constructor copy-assignment