Вам понадобится машина времени , чтобы вернуться в 1985 г., чтобы вы могли использовать программу CFront .Похоже, что «C» используется для поддержки перегрузки операторов;достаточно сложным, он все еще может.См. Внутри объектной модели C ++ от Стэнли Б. Липпман .OMG, C ++ был C!Такая вещь все еще существует.
Этот ответ подтверждает остальные.Само по себе «C» не поддерживает перегрузку.Однако важным моментом является то, что программист может писать код, который понимает код.Вам нужен инструмент, который преобразует источник для реализации этого.В этом случае такие инструменты уже существуют.
В статье, Мета-компиляция для C ++, 2001 , написанной Эдвардом Д. Виллинком, есть интересные примеры функциональности дизайна , где полезно расширение языка.Сочетание * nix shell-скрипта и make
правил часто позволяет такое преобразование.Другими примерами являются Qt MOC, инструменты Lex и Yacc и т. Д. Так что, хотя само C не учитывает это непосредственно, оно работает, если вы создаете host tools.
В этом конкретном примере перегрузка может не иметь смысла.Тем не менее, это может иметь большой смысл для программы, требующей математика произвольной точности .