c++ - 如何在 C++ 中初始化静态 vector 数组成员

标签 c++

class Foo{
static vector<Point> vec[3];
};

所以我有一个包含三个 vector 的数组。我需要在编译时初始化每个 vector 。

例如看起来像这样的东西:

vec[0] = { {1,2}, {3,4}}; // contain two points
vec[1] = { {0, 0}};       // contain one point
vec[2] = {};              // empty

这有可能吗?

最佳答案

需要在cpp文件中声明初始化列表

在cpp文件中:

vector<Poiint> Foo::vec={Point(1,2,3), Point(4,5,6), Point(8,9,10)};

其中 Point(x,y,z) 是构造函数,因此它将用三个元素填充 vector

在类中你应该这样声明:

static vector<Point> vec;

关于c++ - 如何在 C++ 中初始化静态 vector 数组成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22493073/

相关文章:

c++ - 为什么取消引用空指针是未定义的行为?

c++ - 您可以使用 setfill() 设置填充 2 位数字吗?

c++ - 在 C++ 中包含目录时指定完整路径

c++ - 在类函数中访问 vector 的元素

c++ - findContours 和 RETR_TREE 遍历层次结构

c++ - 通过使用来自同一类 C++ 的函数内部的指针 vector 访问数据

c++ - 从四个给定的无符号字符数组计算平均数组

c# - c# 和 c++ 中反向循环的奇怪行为

c++ - 读取二进制文件的问题(ascii 和二进制的混合)

c# - Unity - 当前版本是否生成 native 代码?