STLå‘é‡åˆå§‹åŒ–有两个å‚æ•°

时间:2016-09-18 08:09:11

标签: c++ vector stl

我看到How to initialize a vector in c++但是找ä¸åˆ°åŒæ ·çš„情况,所以我在这里问。

这是什么表达?它ä¸æ˜¯äºŒç»´å‘é‡ï¼ˆæˆ‘çš„æ„æ€æ˜¯å‘é‡çš„å‘é‡ï¼‰ã€‚它是å¦ç”¨ä¸¤ä¸ªå…ƒç´ å£°æ˜Žäº†ä¸€ä¸ªå‘é‡ï¼Ÿ

vector<int> mult_dims(1, 2);

3 个答案:

答案 0 :(得分:3)

请阅读documentation。

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

填充构造函数:   构造一个包å«n个元素的容器。æ¯ä¸ªå…ƒç´ éƒ½æ˜¯val的副本。

ä½ ç¼–ç 

 vector<int> mult_dims(1, 2);

构造一个带有一个元素的å‘é‡ï¼Œå…¶å€¼ä¸º 2 。

它相当于:

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

答案 1 :(得分:0)

多维å‘é‡è¢«å£°æ˜Žä¸ºå‘é‡çš„å‘é‡ï¼š

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

è¦åˆå§‹åŒ–包å«2个元素的å‘é‡ï¼Œåªéœ€æ‰§è¡Œ

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

答案 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;
}