/
spirzen
/
it-code-examples
Обзор
Документация
Войти
/
spirzen
/
it-code-examples
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
examples/cpp/cpp-506-11-027/main.cpp
32 строки
1 KB
Spirzen
Code migration pack
09 июн 2026, 01:41
09 июн 2026, 01:41
cebc284
Код
Авторство
О чём код?
#include <iostream> #include <type_traits> void handleChar(char c) { std::cout << "char: " << static_cast<int>(c) << '\n'; } void handleSignedChar(signed char c) { std::cout << "signed char: " << static_cast<int>(c) << '\n'; } void handleUnsignedChar(unsigned char c) { std::cout << "unsigned char: " << static_cast<int>(c) << '\n'; } int main() { // Эти три вызова могут вести к разным перегрузкам! char a = -1; signed char b = -1; unsigned char c = 255; // эквивалентно -1 в signed, но не в unsigned handleChar(a); // вызывает handleChar handleSignedChar(b); // вызывает handleSignedChar handleUnsignedChar(c); // вызывает handleUnsignedChar // Проверка различий на уровне типов std::cout << "\nТипы различны:\n"; std::cout << "char == signed char? " << std::is_same_v<char, signed char> << '\n'; std::cout << "char == unsigned char? " << std::is_same_v<char, unsigned char> << '\n'; return 0; }