Я читаю учебник для С++, но на самом деле это не давало мне разницы (помимо синтаксиса) между ними. Вот цитата из учебника.
Вы также можете присваивать значения своим переменным при объявлении. Когда мы присваивать значения переменной с помощью оператора присваивания (равно знак), его называют явным присваиванием:
int nValue = 5; // explicit assignment
Вы также можете присваивать значения переменным, используя неявное присвоение:
int nValue(5); // implicit assignment
Несмотря на то, что неявные присваивания очень похожи на вызовы функций, компилятор отслеживает, какие имена являются переменными, а какие функции, чтобы они могли быть правильно решены.
Есть ли разница? Является ли еще предпочтительнее другого?