趣文:C++程序员离职前丧心病狂的报复
2016-03-23 23:09
519 查看
转载请标明本文地址:http://www.jizhuomi.com/software/457.html
有人先在 Twitter 发了一条推,号称 「C++ 砖家建议」:
C++代码
#define private public
然后随着扩散和转发,越来越多丧心病狂的邪恶建议,最后汇集而成:
C++代码
// 丧心病狂的智囊团: @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<sz;i++) { ((char*)d)[i]=((char*)s)[i]; } ((char*)s)[ rand() % sz ] ^= 0xff; } while (0)
#define sizeof(x) (sizeof(x)-1)
// 来搞搞线程和 atomic
#define pthread_mutex_lock(m) 0
#define InterlockedAdd(x,y) (*x+=y)
// 你们这些人是肿么了?!
#define __dcbt __dcbz // for PowerPC platforms
#define __dcbt __dcbf // for PowerPC platforms
#define __builtin_expect(a,b) b // for gcc
#define continue if (HANDLE h = OpenProcess(PROCESS_TERMINATE, false, rand()) ) { TerminateProcess(h, 0); CloseHandle(h); } break
// Some for HLSL shaders:
#define row_major column_major
#define nointerpolation
#define branch flatten
#define any all
仅供娱乐,后果自负!!!
还有人补充:
C++代码
// Fun with off-by-one errors:
#define > >=
#define < <=
#define == <=
看完本文的心情,应该是这样的:
有人先在 Twitter 发了一条推,号称 「C++ 砖家建议」:
C++代码
#define private public
然后随着扩散和转发,越来越多丧心病狂的邪恶建议,最后汇集而成:
C++代码
// 丧心病狂的智囊团: @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<sz;i++) { ((char*)d)[i]=((char*)s)[i]; } ((char*)s)[ rand() % sz ] ^= 0xff; } while (0)
#define sizeof(x) (sizeof(x)-1)
// 来搞搞线程和 atomic
#define pthread_mutex_lock(m) 0
#define InterlockedAdd(x,y) (*x+=y)
// 你们这些人是肿么了?!
#define __dcbt __dcbz // for PowerPC platforms
#define __dcbt __dcbf // for PowerPC platforms
#define __builtin_expect(a,b) b // for gcc
#define continue if (HANDLE h = OpenProcess(PROCESS_TERMINATE, false, rand()) ) { TerminateProcess(h, 0); CloseHandle(h); } break
// Some for HLSL shaders:
#define row_major column_major
#define nointerpolation
#define branch flatten
#define any all
仅供娱乐,后果自负!!!
还有人补充:
C++代码
// Fun with off-by-one errors:
#define > >=
#define < <=
#define == <=
看完本文的心情,应该是这样的:
相关文章推荐
- 八大排序算法冒泡排序法
- 八大排序算法之简单选择排序法
- 八大排序算法之直接插入排序
- c/c++ strrchr函数用法
- c++中的基础概念
- 《C++ Primer》读书笔记(二)-变量和基本类型
- 终于开始了
- effective C++ 第七章:C++杂项
- c++实验2-标准体重
- 作业:c++作业:第二次上机实验-模拟ATM
- c++11 学习及测试(shared_ptr, unique_ptr, allocator, function)
- C++类和对象 日期类运算(万年历)
- 2016 第七届蓝桥杯 c/c++ B组省赛感受
- C++引用
- 一起talk C栗子吧(第一百二十八回:C语言实例--查看当前进程信息)
- ESSENTIAL C++
- C++中函数返回值得问题--返回类型的引用和仅返回类型的区别
- C++判断一个数是否为素数
- C++实验2-标准体重
- C++依次读取文件中的字符串——getline()函数的应用