仅使用1行c ++初始化2d向量

时间:2016-11-30 11:51:36

标签: c++ initialization 2d-vector

我需要能够初始化在我创建它的同一行中的int的2D向量。

更具体地说,我必须创建一个 3x2 大小的2D矢量,并仅使用 1行代码将其所有值设置为0。

有没有办法可以在不使用for循环和几行代码的情况下完成?

2 个答案:

答案 0 :(得分:1)

试试这个:

std::vector<std::vector<int>> twoDimVector(3, std::vector<int>(2, 0));

答案 1 :(得分:0)

如果您有小的2d向量(如您所建议的那样),则可以轻松实现(使用brace-init)quity。

TOL = 1e-2;
while (abs(newchisquare - chisquarevalue) <= 1 - TOL)
    % your code
end

输出:

#include <vector>
#include <iostream>

int main(){

    std::vector<std::vector<int>> vec{ { 0, 0 }, { 0, 0 }, { 0, 0 } };

    std::cout << "vec size = " << vec.size() << "x" << vec[0].size() << std::endl;

    return 0;
}