2010-06-15 3 views
2

Можно создать дубликат:
Is there a clean way to prevent windows.h from creating a near & far macro?#define далеко, #define рядом Windef.h

Какой смысл этих двух определяет в Windef.h?

#define far  /* nothing */ 
#define near /* nothing */ 

Я знаю, что он должен делать с near and far указателями и тот факт, что они больше не используются, но это безопасно #undef их, так что я могу использовать near и far как функции и имена переменных в моем коде ?

Или, я должен просто избегать этого и никогда не использовать near и far в качестве идентификаторов?

ответ

4

Не используйте их повторно. Последнее, что вам нужно, - это неоднократно объяснять людям, что они не являются украшениями старой школы.

Если это важно для вашего приложения, вы можете использовать капитализированные версии (поскольку идентификаторы чувствительны к регистру) - компилятор поймает опечатки, когда вы испортите.

Просто примите, что это круто от старых добрых дней, когда компьютеры все еще были сделаны из металла.

+1

И машина 80286 весила 45 фунтов! – bobobobo

1

Хотя эти пустые не определенные макросы на самом деле безвредно, я бы определенно избежать повторного использования какого-нибудь известный макро ... Это как с помощью goto в качестве имени переменного только потому, что вы не используете его в качестве ключевого слова ...

Смежные вопросы