Приведения типов в стиле AFAIK являются расширением собственных типов обычного синтаксиса временного создания классов: если вы можете создать временный объект внутри выражения с использованием синтаксиса ClassName(parameters)
, нет причин, по которым вы не должны ' сделать это с нативными типами. edit Обратите внимание, что, как сказал @steve, это очень полезно в шаблонах
Обратите внимание, что однопараметрические конструкторы в C ++ часто так или иначе "чувствуются" как средства преобразования, см., Например, синтаксис ( конструктор преобразования ), который позволяет инициализировать новый объект, используя знак равенства, за которым следует знак значение
ClassName MyObject = 3;
что на самом деле означает
ClassName MyObject(3);
и (предположительно) вызывает конструктор класса OneName * int
.
Кстати, здесь хорошая страница о приведениях в функциональном стиле.