C++ Программирование в среде С++ Builder 5

         

Символьные типы


В языке С тип char эквивалентен либо signed char, либо unsigned char; какому именно, определяется реализацией или установками компилятора. Обычно считается, что char — это signed char. В C++ char.

Различие трех символьных типов становится ясным в свете перегрузки функций/ о которой будет говориться в следующем разделе этой главы. Можно определить, например, такие перегруженные функции:

void OutC(char с)

{

printf("Unspec: %c\n", c);

}

void OutC(signed char c)

{

printf("Signed: %c\n",'c);

}

void OutC(unsigned char c)

{

printf("Unsigned: %c\n", c);

}

Для сравнения отметим, что перегрузить подобным образом функции для типа int невозможно:

void OutI(int i)

{

printf("Unspec: %d\n", i);

}

void OutI(signed int i)

{

printf("Signed: %d\n", i);

} void OutI(unsigned int i)

{

printf("Unsigned: %d\n", i);

}

Такие определения вызовут сообщение об ошибке компиляции, поскольку типы int и signed int эквивалентны.



Содержание раздела