non v'è alcuna differenza tra, ad esempioDifferenza tra array [n] e array []?
int array[]={1, 2, 3, 4, 5};
e,
int array[5]={1, 2, 3, 4, 5};
compilatore ha bisogno di calcolare il numero di elementi da sé per il primo caso, e che può prendere un po 'di tempo ({...}
di 1234332534 elementi), quindi il secondo caso è efficiente rispetto al primo?
"matrice di 1234332534 elementi" - L'allocazione di circa 4 GB (1,2 miliardi di ints) sullo stack può essere problematica. Le dimensioni dello stack usuali sono dell'ordine di pochi megabyte. Oltre a questo, non vi è alcun motivo per utilizzare un metodo sull'altro, poiché se c'è un sovraccarico, accade comunque solo al momento della compilazione. – Damon
Il tempo impiegato per "contare" gli elementi sarà impercettibile in relazione al resto della compilation - infatti, * deve * contare anche nella seconda forma comunque, penso (per segnalare un errore), e in qualsiasi caso elaborerà lo stesso numero di elementi. 'int arr [2] = {1, 2, 3};' - errm? –