初始化类内向量向量的两个维度
Initializing both dimensions of a vector of vectors inside a class
我有一个类
class A
{
private:
std::vector< std::vector<int> > v;
//other statements
}
我想通过将这个向量传递给类的构造函数来初始化这个向量的两个维度,可能使用初始化项列表。
这个问题问的是整数向量的相同问题,这问的是向量向量的初始化,但在任何类之外。我想初始化两个维度的大小,但向量是一个类成员。
我该怎么做?
您可以将它们放在成员初始值设定项列表中
喜欢这个
class A{
public:
A(int dim1,int dim2):v(dim1,std::vector<int>(dim2)){}
private:
std::vector< std::vector<int> > v;
};
或者您可以使用vector::resize
class A{
public:
A(int dim1,int dim2){v.resize(dim1,std::vector<int>(dim2));}
private:
std::vector< std::vector<int> > v;
};
是否要使用现有数据进行初始化?
struct Matrix
{
Matrix(std::initializer_list< std::initializer_list<int> > ilil)
{
data_.reserve(ilil.size());
for (auto&& il : ilil)
{
data_.emplace_back(il);
}
}
std::vector< std::vector<int> > data_;
};
void test()
{
auto m = Matrix {
{ 1, 2, 3 },
{ 4, 5, 6 },
{ 7, 8, 9 }
};
}
相关文章:
- 如何检查两个 std::向量在小于 O(n) 的时间复杂度内是否相等
- 查找两个排序向量中共有的元素
- 如何从文件中读取两个字符串和数字数组,并将它们存储在对象向量中
- 将向量之间的数字放在另一个向量之间<vector>>如果两个数字的差值为 1
- 在类 A 中创建类型为 B 类的向量 - 访问数据 [C++] [成员在两个类中都是私有的]
- 如何根据两个因素组织向量:id 和数量?(C++)
- 在C++中查找两个向量之间最相似的值
- 如何在C++中从两个向量生成所有可能的对?
- 返回两个向量 – 使用引用还是元组?
- 使用 std::vector::swap 方法在C++中交换两个不同的向量是否安全?
- 检查两个向量是否并行的最有效方法
- 有没有办法将两个或多个不同的类链接到一个类中(稍后在向量上使用)?
- 我有一个返回字符串向量的函数.它需要两个字符串,并且返回一个字符串中缺少的字符串
- 如何获得比较两个向量对的子集
- C++将两个不同类型的向量的属性连接到新的向量中
- 如何组合两个整数向量
- 在两个类实例之间共享向量
- 如何在 c++ 中对两个向量进行线性搜索?
- 如何在 c++ 中从两个向量创建 JSON 对象?
- 为什么具有两个元素的发起器语法将一个元素而不是两个元素放入字符串向量中?