Сообщение Re[6]: Головоломка с const от 15.01.2023 14:08
Изменено 15.01.2023 14:09 _NN_
Re[6]: Головоломка с const
Здравствуйте, vsb, Вы писали:
vsb>Здравствуйте, AleksandrN, Вы писали:
AN>>Однажды он напишет что-то вроде
AN>>
AN>>и удивится, когда подставит С в выражение с операциями, у которых выше приоритет.
vsb>Скобки в дефайнах учат ставить сразу после того, как учат этим самым дефайнам.
И учат ставить всегда пробелы
vsb>Здравствуйте, AleksandrN, Вы писали:
AN>>Однажды он напишет что-то вроде
AN>>
AN>>#define A 2
AN>>#define B 3
AN>>#define C A + B
AN>>
AN>>и удивится, когда подставит С в выражение с операциями, у которых выше приоритет.
vsb>Скобки в дефайнах учат ставить сразу после того, как учат этим самым дефайнам.
И учат ставить всегда пробелы
#define A(b) 0x123e+(b)
double x = A(1); // error: invalid suffix "+" on integer constant
#define B(b) 0x123e + (b)
double y = B(1); // Работает как ожидается
Re[6]: Головоломка с const
Здравствуйте, vsb, Вы писали:
vsb>Здравствуйте, AleksandrN, Вы писали:
AN>>Однажды он напишет что-то вроде
AN>>
AN>>и удивится, когда подставит С в выражение с операциями, у которых выше приоритет.
vsb>Скобки в дефайнах учат ставить сразу после того, как учат этим самым дефайнам.
И учат ставить всегда пробелы
vsb>Здравствуйте, AleksandrN, Вы писали:
AN>>Однажды он напишет что-то вроде
AN>>
AN>>#define A 2
AN>>#define B 3
AN>>#define C A + B
AN>>
AN>>и удивится, когда подставит С в выражение с операциями, у которых выше приоритет.
vsb>Скобки в дефайнах учат ставить сразу после того, как учат этим самым дефайнам.
И учат ставить всегда пробелы
#define A(b) 0x123e+(b)
int x = A(1); // error: invalid suffix "+" on integer constant
#define B(b) 0x123e + (b)
int y = B(1); // Работает как ожидается