Здравствуйте, Caracrist, Вы писали:
C>я никаких пунктов стандарта не нарушаю?
C>C>#define class struct
C>#define protected public
C>#define private public
C>#include "imported.h"
C>#undef class
C>#undef protected
C>#undef private
C>
Всякое может быть.
Вдруг в imported.h окажется:
#ifdef class
#define true false
#endif
Здравствуйте, Константин Б., Вы писали:
КБ>Вдруг в imported.h окажется:
КБ>КБ>#ifdef class
КБ>#define true false
КБ>#endif
КБ>
чего мелочиться, #define sizeof rand
--
Sergey Chadov
... << RSDN@Home 1.2.0 alpha rev. 685>>
Здравствуйте, Sergey Chadov, Вы писали:
SC>Здравствуйте, Константин Б., Вы писали:
КБ>>Вдруг в imported.h окажется:
КБ>>КБ>>#ifdef class
КБ>>#define true false
КБ>>#endif
КБ>>
SC>чего мелочиться, #define sizeof rand
#define if while
Здравствуйте, Caracrist, Вы писали:
SC>>чего мелочиться, #define sizeof rand
C>C>#define if while
C>
С else не соберётся. Лучше так:
#define if( x ) if(!(x))
, а ещё лучше рандомизатор вставлять, или что-то типа:
#define if( x ) if( (!(16 & *#x)) != (!(x)) )
а ещё можно с __LINE__ аналогично намутить
#define if( x ) if( (!(x)) != (!(__LINE__ % 7 )) )
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Здравствуйте, Erop, Вы писали:
E>Здравствуйте, Caracrist, Вы писали:
SC>>>чего мелочиться, #define sizeof rand
C>>C>>#define if while
C>>
E>С else не соберётся. Лучше так: #define if( x ) if(!(x))
, а ещё лучше рандомизатор вставлять, или что-то типа: #define if( x ) if( (!(16 & *#x)) != (!(x)) )
а ещё можно с __LINE__ аналогично намутить #define if( x ) if( (!(x)) != (!(__LINE__ % 7 )) )
тоже может не собраться
if (lockT lock_(m_mutex)) {//...
//
if (ok<int,double>(666)) {//...
альтернатива:
#define else
Здравствуйте, Caracrist, Вы писали:
C>тоже может не собраться
C>C>if (lockT lock_(m_mutex)) {//...
C>//
C>if (ok<int,double>(666)) {//...
C>
Это, таки, пореже юзают, чем else
C>альтернатива:
C>C>#define else
C>
Тоже может не собраться, к сожалению
do
if( cond1 )
op1;
else
op2;
while( cond2 );
но это уже совсем маргинальщина, вроде
Есть, кстати, ещё и третий путь
#define if for( sometimesFalseFirstTimeAndSometimesTrueNextTimes aFFTASTNT; aFFTASTNT.Test();) if
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском