c – 多维向量初始化

前端之家收集整理的这篇文章主要介绍了c – 多维向量初始化前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有以下std :: vector声明:

的std ::矢量<标准::矢量<标准::矢量< INT> > > m_input; 我正在初始化如下:

m_input.resize (100);
    m_output.resize(100);
    for (int i = 0; i < 100; ++i) {
        m_input [i].resize(100);
        m_output[i].resize(100);
        for (int j = 0; j < 100; ++j){
            m_input [i][j].resize(100);
            m_output[i][j].resize(100);
        }
    }

如何通过成员初始化程序列表来实现?

解决方法

的std ::矢量< T>有一个构造函数,它有两个参数,一些元素和一个初始值.在您的情况下,您要初始化m_input与100个副本的std :: vector< std :: vector< int> >,所以它是:m_input(100,X).现在,X又是一个100 std :: vector< int>的向量,它又包含一百个int:

:m_input(100,std :: vector< std :: vector< int>(100,std :: vector< int>(100,0)))

猜你在找的C&C++相关文章