带有两个参数的STL矢量初始化

STL vector initialization with two arguments

本文关键字:STL 初始化 参数 两个      更新时间:2023-10-16

我看到了如何在c++中初始化向量,但找不到相同的情况,所以我在这里问。

这个表达式是什么?它不是二维向量(我是说向量的向量)它声明了一个有两个元素的向量吗?

vector<int> mult_dims(1, 2);

阅读文档。

explicit vector (size_type n, const value_type& val);

填补构造函数:构造一个包含n个元素的容器。每个元素都是val的副本。


编写代码

 vector<int> mult_dims(1, 2);

构造具有一个元素的vector,值为2

相当于:

  std::vector<int> NO_mult_dims = {2};

多维向量声明为vector的vector:

std::vector<std::vector<int>> multi_dims{};

要初始化包含两个元素的vector,只需执行

std::vector<int> my_vec = { 1, 2 };
int main()
{
    std::vector<std::vector<int>> vec;   //vector of vector for matrix
    vec.push_back({ 10,20,30 }); //first row 
    vec.push_back({ 11,22,33 });  // second row
    for (auto x : vec)                  //printing matrix
    { std::cout << x[0] << " " << x[1] << " "<<x[2]<<std::endl; }
    return 0;
}