=
в определении объекта - , а не присвоение ;это инициализация .И да, значение инициализации не совпадает со значением присваивания.
int a = 0; // initialize a to 0
int& ref = a; // initialize ref to refer to a
ref = 5; // assign 5 to ref; ref is a reference, so this assigns 5 to a
Инициализация относится к созданию объекта (в примере кода, int
и int&
; знак =
в инициализации указывает компилятору, что использовать в качестве начального значения этого объекта.
Назначение относится к установке нового значения дляуже существующий объект. Таким образом, int a = 0;
- это инициализация; a = 3;
- это присвоение.