- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
>>>http://www.viva64.com/ru/a/0023/
#ifdef DEBUG_MODE
#define WriteLog printf
#else
inline int StubElepsisFunctionForLog(...) { return 0; }
static class StubClassForLog {
public:
inline void operator =(size_t) {}
private:
inline StubClassForLog &operator =(const StubClassForLog &)
{ return *this; }
} StubForLogObject;
#define WriteLog \
StubForLogObject = sizeof StubElepsisFunctionForLog
#endif
WriteLog("Coordinate = (%d, %d)\n", x, y);
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
ССЗБ?
P.S #define WriteLog(...)
or
#define WriteLog __noop
> Карпов Андрей Николаевич, к.ф.-м.н., научный консультант компании "СиПроВер", специализирующейся на вопросах повышения качества программных систем. Занимается теоретическими и практическими вопросами статического анализа кода.
академики, мля. иногда даже хуже чем индустриальщики.
Можете переживать дальше. :)
P.S. А статью читать следует внимательно.
Человек - Model View Presenter
и где здесь С++0х11?
(это неэлегантно по его словам) посмотрите сами http://www.viva64.com/ru/a/0023/
наверное у него не поддерживаются макросы с переменым количеством
аргументов и нет никаких компиляторо - зависимых фишек типа __noop
По стандарту так нельзя.
Это есть только в Си-99 стандарте.
А он использовал это в говнокоде. Нихуя.
ДОСМОТ?