导航

防止他人批量replace自己写在代码中的名字!

Posted on 2005-01-12 15:59  Panic  阅读(397)  评论(2)    收藏  举报
//不常用的宏指令,连接两个符号。例如 A##B ,实际结果是 AB
#define ADD(a,b) b##a

//暗地里合成自己的名字
#define MYNAME ADD(ic,pan)

//隐式把名字映射成一个常用类型
typedef int MYNAME ;

//实际代码
panic f()
{
  return 0;
}

//如果有人把名字替换成别的:比如Mike
//就会产生这样的代码。。。
//Mike f()
//{
//	return 0;
//}
//编译肯定出问题--b

int main(int argc, char* argv[])
{ 
 return f();;
}