Показали нам однажды на лекции пример макроопределения.
#define MIN(x,y) ((x) < (y) ? (x) : (y))
Ежу, читавшему On Lisp, понятно, что пример бажный (может произойти
множественное вычисление аргументов). При этом, в мануале по cpp
написано, что в стандартном С такой баг пофиксить невозможно.
На лиспе корректное определение выглядит так
(defmacro my-min (x y)
(let ((x1 (gensym))
(y1 (gensym)))
`(let ((,x1 ,x)
(,y1 ,y))
(if (< ,x1 ,y1)
,x1
,y1))))
А еще и говорят, что на С даже ногу можно прострелить... :/ А каком
простреле ноги может идти речь, если даже с элементарными задачами
язык справится не может?
←
1
2
3
→

Ответ на:
комментарий
от ananas

Ответ на:
комментарий
от CrazyPit
Ответ на:
комментарий
от guardian

Ответ на:
комментарий
от WFrag
Ответ на:
комментарий
от guardian

Ответ на:
комментарий
от ananas
Ответ на:
комментарий
от guardian
Ответ на:
комментарий
от CrazyPit
Ответ на:
комментарий
от Begemoth
Ответ на:
комментарий
от MAPA3MATuK
Ответ на:
комментарий
от anonymous
Ответ на:
комментарий
от MAPA3MATuK
Ответ на:
комментарий
от anonymous
Ответ на:
комментарий
от MAPA3MATuK
Ответ на:
комментарий
от GameMagister
Ответ на:
комментарий
от MAPA3MATuK
Ответ на:
комментарий
от GameMagister
Ответ на:
комментарий
от MAPA3MATuK
Ответ на:
комментарий
от MAPA3MATuK
Ответ на:
комментарий
от MAPA3MATuK
Ответ на:
комментарий
от GameMagister
Ответ на:
комментарий
от GameMagister
Ответ на:
комментарий
от Begemoth
Ответ на:
комментарий
от Begemoth
Ответ на:
комментарий
от Begemoth
Ответ на:
комментарий
от MAPA3MATuK
Ответ на:
комментарий
от MAPA3MATuK
Ответ на:
комментарий
от anonymous
Ответ на:
комментарий
от anonymous
Ответ на:
комментарий
от MAPA3MATuK
Ответ на:
комментарий
от anonymous
Ответ на:
комментарий
от MAPA3MATuK
Ответ на:
комментарий
от anonymous
Ответ на:
комментарий
от anonymous

Ответ на:
комментарий
от Eldhenn
Ответ на:
комментарий
от Eldhenn
Ответ на:
комментарий
от anonymous
Ответ на:
комментарий
от MAPA3MATuK
Ответ на:
комментарий
от Begemoth
Ответ на:
комментарий
от MAPA3MATuK
Ответ на:
комментарий
от Begemoth
Ответ на:
комментарий
от MAPA3MATuK
Ответ на:
комментарий
от MAPA3MATuK
Ответ на:
комментарий
от Begemoth
Ответ на:
комментарий
от Begemoth
Ответ на:
комментарий
от MAPA3MATuK
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум Отстойный дистрибьютив (2010)
- Форум Нормальные люди используют tox (2017)
- Форум десятка отстойных скринов (2003)
- Форум Для чего люди используют проприетарщину? (2014)
- Форум Почему люди используют Windows, есть ответ! (2012)
- Форум Sabayon Linux — есть люди,использующие его? (2009)
- Новости Bluedot ПМП использует Linux, любит людей (2006)
- Форум Какие правила языка C++ здесь используются? (2017)
- Форум Зачем люди используют на домашних компьютерах Gentoo? (2015)
- Форум FireFox в венде работает отстойно. (2005)