将vector初始化为整型列表
Initializing a vector to a list of integers
为了表示邻接表样式的图形,我使用包含指向相邻列表的指针的向量。
class Graph
{
public:
Graph(int V)
{
vector<list<int> *> vertices(V);
}
// Member functions for Graph class
void addEdge();
void print();
void type(string);
private:
vector<list<int> *> vertices;
};
在main函数中获取用户的顶点数->将其传递给构造函数,这一切都工作了,这意味着向量被初始化为所需的大小!但就在程序从头文件返回到主函数之后,情况发生了变化!在跟踪顶点的值:大小不知何故被重置的地方,我不知道!!
int size;
cout << "Enter the number of vertices in the Graph: ";
cin >> size;
Graph g(size);
Immona需要帮助,可能会出什么问题?
在构造函数中创建了一个临时向量(局部变量):
Graph(int V)
{
vector<list<int> *> vertices(V);
}
你需要初始化你的成员变量:
Graph(int V) : vertices(V) {}
另外,如果您确实需要使用指针,我建议使用std::unique_ptr<list<int>>
代替原始指针,否则只需存储纯std::list<int>
。
相关文章:
- C 字符串返回字符串的整数/双精度/长整型值
- 是什么导致了这种使用三进制而不是短整型的有符号int到无符号int转换
- 无法在 Arduino 中uint8_t数组转换为无符号长整型数组
- JNI 日期值转换问题,在C++中获取不同的长整型值
- 将长整型值打印为带有前导零的十六进制
- 为什么在传递长整型时调用具有两个双精度类型的参数的重载函数?
- 将整型常量映射到类型
- 将元组和整型实例合并到引用元组中
- 提升不良词法强制转换:将字符串转换为无符号长整型时,无法将源类型值解释为目标
- 为什么C++不允许两个同名的函数/类模板,区别仅在于非类型模板参数(整型)的类型?
- 将最小值整数转换为无符号长整型
- 如何将小端格式的QByteArray转换为无符号长整型
- 直接初始化无符号短整型的标准行为
- 无符号长整型和无符号 int 之间有什么区别,这 2 种类型应该如何在 c# 中封送?
- 无符号和有符号短整型的位宽
- 将整型转换为浮点型时检测溢出
- 环礁和(长整型)的区别?
- 在c++中初始化整型列表
- 如何使c++函数隐式地将整型数列表转换为矢量形参
- 将vector初始化为整型列表