Ho solo recentemente iniziato ad imparare C++ come parte del mio decimo programma di studio, e sono a conoscenza solo delle basi , quindi le risposte semplici (se possibile) saranno apprezzate. Sono piuttosto confuso tra l'inizializzazione e l'assegnazione.Differenza tra vari inizializzatori in C++
//Case 1
int a=5; //This is initialization
a=6; //This is assignment
Da quello che ho capito, una variabile viene inizializzata quando si dà un valore di tenere mentre dichiararla. Cambiare questo più avanti nel codice sarà un compito. Destra?
Che dire:
//Case 2
int b;
{
//Block of code which does not call variable b
.
.
.
//End of block
}
b=6; // Is this initialization as well?
Mentre 'b' è inizializzata quando dichiariamo, abbiamo poi assegniamo il valore '6'. Possiamo dire che la 'b' è inizializzata ora? O i termini inizializzati e non inizializzati non sono più applicabili a "b"?
Ho letto che una variabile non inizializzata contiene "garbage values" finché non è inizializzata. Cosa sono esattamente i "valori spazzatura"?
Qual è la differenza tra i seguenti inizializzatori: '()', '{}' e '='?
Questo sembra rilevante: http://herbsutter.com/2013/05/09/gotw-1-solution/ – Michael
La domanda è troppo ampia. Una domanda per domanda per favore. Ho risposto alla prima parte. Ci sono domande esistenti per la tua parte "qual è la differenza". –