- non-bool to bool: bool=1 if non-bool != 0; bool=0 if non-bool ==0;
- bool to non-bool: non-bool=1 if bool==1; non-bool=0 if bool==0;
- float to int: truncate decimal part;
- out-of-range to unsigned type: (Eg: -1 to 8-bit unsigned char, -1+256=255);
- out-of-range to signed type: result is undefined.
Reference:
S.B. Lippman, "C++ Primer (5th version)", PUBLISHING HOUSE OF ELECTRONICS INDUSTRY, Beijing, 2013