Как стать автором
Обновить

Об операторах

Время на прочтение1 мин
Количество просмотров1K
Задумался тут над вопросом. В языке Си для операторов && и || определен порядок вычисления операндов. Более того, если левый операнд вернул ложь для && или истину для ||, то правый вычисляться уже не будет. Это позволяет использовать конструкции по типу «smth or die», которые сплошь и рядом можно встретить в скриптовых языках:
(f = fopen("file", "r")) || fprintf(stderr, "Can not open file\n");
Вы когда нибудь видели такой код на Си? Я нет. Вот интересно почему :) Предвидя ответы «слишком длинно», «некрасиво» и т.п.: тогда почему же в скриптовых языках оно так распространено?
Теги:
Хабы:
Всего голосов 18: ↑11 и ↓7+4
Комментарии23

Публикации

Работа

Программист C++
96 вакансий
QT разработчик
8 вакансий

Ближайшие события