Я только недавно начал изучать С++ как часть моей программы 10-го ранга, и я знаю только основы, поэтому простые ответы (если это возможно) будут оценены. Я довольно путаюсь между инициализацией и назначением.
//Case 1
int a=5; //This is initialization
a=6; //This is assignment
Из того, что я понял, переменная инициализируется, когда вы даете ей значение для хранения при объявлении. Изменение этого позже в коде будет назначением. Правильно?
Как насчет:
//Case 2
int b;
{
//Block of code which does not call variable b
.
.
.
//End of block
}
b=6; // Is this initialization as well?
В то время как 'b' не инициализируется, когда мы объявляем, мы позже присваиваем значение '6'. Можем ли мы сказать, что "b" инициализируется сейчас? Или термины, инициализированные и неинициализированные, неприменимы к "b"?
Я читаю, что неинициализированная переменная хранит "значения мусора" до тех пор, пока она не будет инициализирована. Что такое "значения мусора"?
В чем разница между следующими инициализаторами: '()', '{}' и '='?