趣文:C++ 程序员离职之前要做的事

2,645 阅读1分钟
原文链接: blog.jobbole.com

【伯乐在线导读】:

有人先在 Twitter 发了一条推,号称 「C++ 砖家建议」:

#define private public

然后随着扩散和转发,越来越多丧心病狂的邪恶建议,最后汇集而成:

// 丧心病狂的智囊团: @r2d2rigo, @joeldevahl, @msinilo, @_Humus_,
// @YuriyODonnell, @rygorous, @cmuratori, @mike_acton, @grumpygiant,
// @KarlHillesland, @rexguo, @tom_forsyth, @bkaradzic, @MikeNicolella,
// @AlexWDunn 和 @aras-p ←_←

// 伯乐在线注:警察蜀黍,↑ @aras-p 这货就是贼首 (╯‵□′)╯︵┻━┻

// 关键字/保留字替换。我想很难发现哦!
#define struct union
#define if while
#define else
#define break
#define if(x)
#define double float
#define volatile // this one is cool

// 咦,听说你喜欢数学耶~
#define M_PI 3.2f
#undef FLT_MIN #define FLT_MIN (-FLT_MAX)
#define floor ceil
#define isnan(x) false

// 随机性相关的,绝大多数时候都「起效」了  ^o^
#define true ((__LINE__&15)!=15)
#define true ((rand()&15)!=15)
#define if(x) if ((x) && (rand() < RAND_MAX * 0.99))

// 字符串/内存,很可能相当长的时间都没人发现
#define strcpy(a,b) memmove(a,b,strlen(b)+2)
#define strcpy(a,b) (((a & 0xFF) == (b & 0xFF)) ? strcpy(a+1,b) : strcpy(a, b))
#define memcpy(d,s,sz) do { for (int i=0;i

仅供娱乐,后果自负!!!

还有人补充:


// Fun with off-by-one errors:
#define > >=
#define < <=
#define == <=

看完本文的心情,应该是这样的:

scared

查看图片