int main()
{
char c = 0xff;
bool b = 0xff == c;
// Under most C/C++ compilers' default options, b is FALSE!!!
}
Ни в стандарте C, ни в С++ не указывается char как подписанный или неподписанный, он определяется реализацией.
Почему стандарт C/С++ явно не определяет char как подписанный или неподписанный для предотвращения опасных злоупотреблений, таких как приведенный выше код?