Я нашел много статей, объясняющих разницу между «инициализацией по умолчанию и инициализацией значения», но на самом деле я не совсем ясно понял.
Вот пример:
class A{
public:
int x;
};
int main(){
A a;// default initialization so x has undefined value.
A b = A(); // value initialization so x is a scalar thus it is value initialized to 0
}
Вышеэто нормально, как я думаю, но здесь:
int value = 4; // is this considered a value-initialization?
Пожалуйста, помогите мне понять основные различия между двумя формами инициализации.