Что-то не так в #define и && - PullRequest
3 голосов
/ 23 февраля 2011

Интересно, было бы плохой идеей делать такие определения в C:

#define and &&
#define or  ||
#define not !

1 Ответ

6 голосов
/ 23 февраля 2011

Было бы неплохо сделать это самостоятельно.

Если вы действительно хотите, чтобы имена типа and вместо символов типа &&, вы можете включить заголовок <iso646.h> C Standard Library, который определяет несколько именованных операторов, включая три, которые вы упомянули.

В C ++ альтернативные представления (такие как and и or) являются операторами, встроенными в язык, поэтому вам не нужно включать какие-либо заголовки для их использования, и невозможно определить их какмакросы (имя макроса должно быть идентификатором, а альтернативные представления - это операторы, а не идентификаторы даже во время предварительной обработки).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...