Re: насколько такая "наглость" работоспособна?
От: Константин Б. Россия  
Дата: 29.11.09 18:00
Оценка: 1 (1) +1 :))) :))) :))) :)
Здравствуйте, 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


Re[2]: насколько такая "наглость" работоспособна?
От: Sergey Chadov Россия  
Дата: 29.11.09 18:10
Оценка: 1 (1) :)
Здравствуйте, Константин Б., Вы писали:

КБ>Вдруг в imported.h окажется:


КБ>
КБ>#ifdef class
КБ>#define true false
КБ>#endif
КБ>


чего мелочиться, #define sizeof rand
--
Sergey Chadov

... << RSDN@Home 1.2.0 alpha rev. 685>>
Re[3]: насколько такая "наглость" работоспособна?
От: Caracrist https://1pwd.org/
Дата: 29.11.09 20:18
Оценка:
Здравствуйте, Sergey Chadov, Вы писали:

SC>Здравствуйте, Константин Б., Вы писали:


КБ>>Вдруг в imported.h окажется:


КБ>>
КБ>>#ifdef class
КБ>>#define true false
КБ>>#endif
КБ>>


SC>чего мелочиться, #define sizeof rand


#define if while
~~~~~
~lol~~
~~~ Single Password Solution
Re[4]: Удачной отладки... ;)
От: Erop Россия  
Дата: 01.12.09 09:42
Оценка:
Здравствуйте, 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 )) )
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[5]: Удачной отладки... ;)
От: Caracrist https://1pwd.org/
Дата: 02.12.09 07:30
Оценка:
Здравствуйте, 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
~~~~~
~lol~~
~~~ Single Password Solution
Re[6]: Удачной отладки... ;)
От: Erop Россия  
Дата: 02.12.09 09:17
Оценка:
Здравствуйте, 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
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.