有人可以解释 vector<Node*>() 的含义吗
Could someone explain the meaning of vector<Node*>()
我正在解决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*>()
。为什么后面有括号?
其实这个语句在class节点
的构造函数中
neighbors = vector<Node*>();
是多余的。
这里使用了移动赋值运算符,将调用classstd::vector<Node *>
的默认构造函数vector<Node*>()
创建的空向量赋值给已经创建的空向量neighbors
是 class 节点的数据成员。
您可以从 class 节点的构造函数中删除此语句。其实并没有什么效果。
我正在解决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*>()
。为什么后面有括号?
其实这个语句在class节点
的构造函数中neighbors = vector<Node*>();
是多余的。
这里使用了移动赋值运算符,将调用classstd::vector<Node *>
的默认构造函数vector<Node*>()
创建的空向量赋值给已经创建的空向量neighbors
是 class 节点的数据成员。
您可以从 class 节点的构造函数中删除此语句。其实并没有什么效果。