Explicit Conversions
Explicit conversions occur when the client explicitly
invokes a cast operation.
Both implicit and explicit type conversions result in a
temporary object of the type being converted to.
This temporary object is used in place of the original.
The value of the original object is not affected.
When considering execution efficiency, it is important to
reduce or minimize the creation of such temporaries.
We recommend minimizing user defined conversions as
much as possible by avoiding mixed type expressions and
by supplying arguments to functions that exactly match
the type required by the function prototypes.