C ++ 0x allows you to use a keyword autoto give the compiler time to return an expression.
++ 03 , , Promotion, , , .
template<> class Promotion< long, int > { typedef long strongest; }
template<> class Promotion< int, long > { typedef long strongest; }
:
template< typename T1, typename T2 >
Promotion<T1,T2>::strongest function( const T1 &a, const T2 &b ) { ... }
, Promotion .
: , ( ) :
. , , .
, , .