Re[11]: Почему настоящие программисты избегают C++
От: Kubera Россия  
Дата: 17.02.05 20:03
Оценка: 1 (1) +2 -2 :)
Здравствуйте, d Bratik, Вы писали:
N>>для любителей signed int'ов:

N>>положим захотелось нам искать среднее двух чисел и написали мы функцию:

N>>int kaka (int a, int b){return (a+b)/2;}

N>>и всё вроде тип-топ, но вот тут сунули нам два числа (вполне корректных):


N>>int a = 2113929216;

N>>int b = 2113929210;

N>>и что? а какое решение-то простое есть? ассемблер в три команды не предлогать, всё на с++

N>>p.s. я решение знаю, но не сказал бы что оно простое

DB>Решение состоит в том, что система должна генерировать исключение (exception) при переполнении. Отсутствие этой возможности я забыл добавить в качестве 7-го пункта в списке ошибок проектирования языка.


Функции, логика которых не предусматривает ошибочных ситуаций, не должны кидать исключений. А функция вычисления среднего арифметического относится как раз к таким. Т.е. предложенное тобой решение с генерацией исключения неверно.
Любая сложная технология неотличима от волшебства. (Артур Кларк)
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.