Então, eu tenho o seguinte:
std::vector< std::vector <int> > fog;
e estou inicializando-o de maneira muito ingênua, 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);
}
E parece muito errado ... Existe outra maneira de inicializar um vetor como esta?
std::vector<int>::max_size()
. AquiRespostas:
Use o
std::vector::vector(count, value)
construtor que aceita um tamanho inicial e um valor padrão:Se um valor diferente de zero,
4
por exemplo, era obrigado a ser o padrão, então:Devo também mencionar que a inicialização uniforme foi introduzida no C ++ 11, que permite a inicialização de
vector
, e outros contêineres, usando{}
:fonte
std :: vector <std :: vector <int>>
questatic
?Digamos que você queira inicializar o vetor 2D, m * n, com o valor inicial de 0
nós poderíamos fazer isso
fonte
std::
torna-o mais longo e as pessoas podem gostar de uma resposta curta e direta; 3) a longa nomenclatura de variáveis confunde os iniciantes. Também sou iniciante, não sei realmente o quão importante precisamosstd::
, precisamos de um código executável, então eu sei o que cada variável fazNão há nenhum
append
método emstd::vector
, mas se você quiser fazer um vetor contendoA_NUMBER
vetores deint
, cada um desses contendoother_number
zeros, você pode fazer o seguinte:fonte
A sintaxe geral, como já representada, é:
Aqui, o vetor 'v' pode ser visualizado como uma matriz bidimensional, com 'A_NUMBER' de linhas, com 'OTHER_NUMBER' de colunas com seu valor inicial definido como 'DEFAULT_VALUE'.
Também pode ser escrito assim:
Inserir valores em um vetor 2-D é semelhante a inserir valores em uma matriz 2-D:
Exemplos já foram declarados em outras respostas ....!
fonte
Acho que a maneira mais fácil de fazer isso é:
10 é o tamanho do vetor externo ou global, que é o principal, e 11 é o tamanho do vetor interno do tipo int, e os valores iniciais são inicializados em 100! Essa é a minha primeira ajuda na pilha, acho que ajuda alguém.
fonte
Suponha que você deseja inicializar um vetor inteiro bidimensional com n linhas em colunas, cada uma com o valor ' VAL '
Escreva como
Este VAL pode ser uma variável do tipo inteiro ou constante como 100
fonte
A abordagem recomendada é usar o construtor de preenchimento para inicializar um vetor bidimensional com um determinado valor padrão:
onde, M e N são dimensões para seu vetor 2D.
fonte
Meu
c++ STL
código para inicializar5*3 2-D vector
comzero
fonte