. , , , :-) C-, (a) , (b) . .
L, , T , double. static_cast<long double>(123.45) != 123.45L.
, T , mpf_class GMP , , long double. , boost::lexical_cast<T>("123.45"). , , enable_if - .
, T , int, , , short(123.45) / x int(123.45) / x, int short(123.45) == int(123.45), T , int, , , long(123.45) / x , int(123.45) / x, T int(123.45) == long(123.45). , 123 [*]. 123.45 T, . -1 / (unsigned char)2 != (unsigned char)-1 / (unsigned char)2.
[*] bool, , .
source
share