TITLE: New cast notations adopted for C++ [ Material taken from "C++ Report", Sept. 94, Vol. 6, No. 7, page 46. ] The ANSI/ISO C++ Standards Committee has adopted new cast notations to be included as part of C++. This is the first installment of a series detailing the coming language changes. The ordinary C++ cast syntax is roughly "(T) expr", while the newer dynamic cast syntax is "dynamic_cast(expr)". The committee identified two outstanding problems with the original cast syntax that prompted the effort to expand cast operations: 1) its minimal syntax makes it hard to see both for humans and code analyzers, 2) it has a single notation for several weakly related operations, including reinterpret bit patterns, arithmetic narrowing or widening, address arithmetic for navigating class heirarchies, remove const or volatile The committee accepted a proposal that will now define three more cast notations. All are intended to make the original intent of a designer clearer and more explicit. The casts and their intended uses are: 1) static_cast: for well-behaved and reasonably well- behaved casts 2) reinterpret_cast: for casts yielding values that must be cast back in order to be used safely 3) const_cast: for casting away the const and/or volatile attributes (to be continued)