Cette notation permet d'avoir une harmonization avec l'initialisation d'objet avec plusieurs parametres.
Si tu as une class:
class foo{
public:
foo (int, int);
foo (int);
};
tu peux l'initialiser soit :
foo toto (1,2); //en utilisant le premier constructeur
soit avec:
foo toto (1); //en utilisant le deuxieme constructeur
avoir les notations:
foo toto = 1;
qui fonctionne permet d'avoir une abstraction dans la notation qui permet en d'avoir soit un objet qui prend un parametre a la construction soit un type primaire.