STL向量初始化有两个参数

问题描述 投票:-3回答:3

我看到How to initialize a vector in c++但是找不到同样的情况所以我在这里问。

这个表达是什么?它不是二维矢量(我的意思是矢量矢量)。它是否用两个元素声明了一个向量?

vector<int> mult_dims(1, 2);
c++ vector stl
3个回答
3
投票

刚看完documentation

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

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


你编码

 vector<int> mult_dims(1, 2);

使用值为2的一个元素构造向量。

它相当于:

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

0
投票

多维向量被声明为向量的向量:

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

要初始化具有2个元素的向量,就这样做

std::vector<int> my_vec = { 1, 2 };

-1
投票
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;
}
© www.soinside.com 2019 - 2024. All rights reserved.