Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

explicit et constructeur sans argument

1 réponse
Avatar
Fabien LE LEZ
Bonjour,

Sur la page
<http://www.cplusplus.com/reference/string/string/string.html>, qui
décrit les constructeurs de std::string, se trouve un truc bizarre :

explicit string ( );

Je comprends l'utilité de "explicit" quand un constructeur a
exactement un argument, mais signifie-t-il quelque chose quand le
constructeur n'a pas d'argument?

Merci d'avance...

1 réponse

Avatar
Michael DOUBEZ
Fabien LE LEZ a écrit :
Bonjour,

Sur la page
<http://www.cplusplus.com/reference/string/string/string.html>, qui
décrit les constructeurs de std::string, se trouve un truc bizarre :

explicit string ( );

Je comprends l'utilité de "explicit" quand un constructeur a
exactement un argument, mais signifie-t-il quelque chose quand le
constructeur n'a pas d'argument?



Ils ont simplifié l'interface: normalement, le constructeur par défaut
prends un allocateur en paramètre:
explicit basic_string(const Allocatora &=Allocator());

Ils ont oubliés d'enlever l'explicit au moment du copier/coller.

--
Michael