L'initialisation d'un deux dimensions std::vector

Donc, j'ai le texte suivant:

std::vector< std::vector <int> > fog;

et je suis de l'initialisation, il est très naïvement comme:

    for(int i=0; i<A_NUMBER; i++)
    {
            std::vector <int> fogRow;
            for(int j=0; j<OTHER_NUMBER; j++)
            {
                 fogRow.push_back( 0 );
            }
            fog.push_back(fogRow);
    }

Et il se sent très mal... Est-il une autre façon de l'initialisation d'un vecteur comme cela?

  • Je vous recommande un 1d vecteur de la mise en œuvre d'un vecteur 2d si vous n'avez pas besoin de plus d'espace que std::vector<int>::max_size(). Ici
InformationsquelleAutor Ferenc Deak | 2013-07-15