int [n] [m], onde n e m são conhecidos em tempo de execução
Muitas vezes, preciso criar uma matriz 2D com largura e altura (que sejam n e m) desconhecidas no momento da compilação, geralmente escrevo:
vector<int> arr(n * m);
E eu acesso elementos manualmente com:
arr[j * m + i]
Recentemente me disseram que eu poderia escrever:
int arr[n][m] // n and m still only known at runtime.
Então, aqui estão duas perguntas:
Esse comportamento é permitido pelo padrão C ++?Como devo passar esse array para uma função? relatórios do g ++ que arr tem tipoint (*)[n]
, mas novamente, n é dinâmico e não é conhecido fora da função em que é declarado (main
)