cpp/language/converting constructor

A constructor that is not declared with the specifier  is called a converting constructor.

Unlike explicit constructors, which are only considered during (which includes  such as ), converting constructors are also considered during, as part of.

It is said that a converting constructor specifies an implicit conversion from the types of its arguments (if any) to the type of its class. Note that non-explicit also specifies an implicit conversion.

Implicitly-declared and user-defined non-explicit s and s are converting constructors.