Мне забавно думать об этом. Любой компилятор C, например, должен указывать от int *c;
до double d = (int) f * (float) g;
. В первом случае * указывает, что c является указателем на int, а во втором случае это оператор умножения. Хотя C не экспортируется за пределы самого компилятора, он, похоже, имеет функцию перегрузки операторов. C ++ экспортировал его за пределы компилятора?
Я уверен, что другие языки, такие как Java, должны иметь некоторый механизм, чтобы сообщать + или * или такие операторы, когда они используются между различными комбинациями и перестановками типов операндов.