使用宏创建匿名变量或类

(Owed by: 春夜喜雨 http://blog.csdn.net/chunyexiyu)


创建匿名变量或类,一般用到名称不重要,只需要序列化生成即可的情况


一般需要用到这两个来进行序列化

__COUNTER__  

__LINE__


__COUNTER__实质上是一个int,并且是具体的数,初值是0,每预编译一次其值自己加1

__LINE__表示行号



创建的方式:需要经过两次宏变换,才能把__LINE__或__COUNTER__变量使用起来


例如如下的例子:

#define GetNameImp(prefix, s1)  prefix##s1

#define GetName(prefix, s1) GetNameImp(prefix, s1)

#define RandName(prefix)   GetName(prefix, __LINE__)





(Owed by: 春夜喜雨 http://blog.csdn.net/chunyexiyu)




你可能感兴趣的:(使用宏创建匿名变量或类)