Entonces, tengo lo siguiente:
std::vector< std::vector <int> > fog;
y lo estoy inicializando muy ingenuamente como:
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);
}
Y se siente muy mal ... ¿Hay otra forma de inicializar un vector como este?
std::vector<int>::max_size()
. AquíRespuestas:
Utilice el
std::vector::vector(count, value)
constructor que acepta un tamaño inicial y un valor predeterminado:Si
4
se requería que un valor distinto de cero, por ejemplo, fuera el predeterminado, entonces:También debo mencionar que la inicialización uniforme se introdujo en C ++ 11, que permite la inicialización de
vector
y otros contenedores, usando{}
:fuente
std :: vector <std :: vector <int>>
asstatic
?Digamos que desea inicializar el vector 2D, m * n, con un valor inicial de 0
podríamos hacer esto
fuente
std::
hace más largo y la gente puede querer una respuesta corta y directa; 3) el nombre largo de las variables confunde a los principiantes. Yo también soy un principiante, realmente no sé lo importante que necesitamosstd::
, necesito un código ejecutable, así que sé lo que hace cada variableNo hay ningún
append
método enstd::vector
, pero si desea hacer un vector que contengaA_NUMBER
vectores deint
, cada uno de los que contienenother_number
ceros, puede hacer esto:fuente
La sintaxis general, como ya se describió es:
Aquí, el vector 'v' se puede visualizar como una matriz bidimensional, con 'A_NUMBER' de filas, con 'OTHER_NUMBER' de columnas con su valor inicial establecido en 'DEFAULT_VALUE'.
También se puede escribir así:
Ingresar valores en un vector 2-D es similar a ingresar valores en una matriz 2-D:
Ya se han indicado ejemplos en otras respuestas ...!
fuente
Creo que la forma más sencilla de hacerlo es:
10 es el tamaño del vector externo o global, que es el principal, y 11 es el tamaño del vector interno de tipo int, ¡y los valores iniciales se inicializan en 100! Esa es mi primera ayuda en la pila, creo que ayuda a alguien.
fuente
Suponga que desea inicializar un vector entero bidimensional con n filas ym columnas, cada una con el valor ' VAL '
Escríbelo como
Este VAL puede ser una variable de tipo entero o una constante como 100
fuente
El enfoque recomendado es usar el constructor de relleno para inicializar un vector bidimensional con un valor predeterminado dado:
donde, M y N son dimensiones para su vector 2D.
fuente
Mi
c++ STL
código para inicializar5*3 2-D vector
conzero
fuente