宏展开,自动声明变量
我想写这么一个宏,
M_B(1, 5)
展开后自动生成
int s1;
int s2;
int s3;
int s4;
int s5;
s表示可以在数字前面带的任意指定字符串。请有经验的指点一下。
还要写一个
M_E(1, 5)
展开后自动生成
clean(s1);
clean(s2);
clean(s3);
clean(s4);
clean(s5);
M_B和M_E配对使用,目的是为了模拟c++的构造函数和析构函数。
谢谢了!!!
M_B(1, 5)
展开后自动生成
int s1;
int s2;
int s3;
int s4;
int s5;
s表示可以在数字前面带的任意指定字符串。请有经验的指点一下。
还要写一个
M_E(1, 5)
展开后自动生成
clean(s1);
clean(s2);
clean(s3);
clean(s4);
clean(s5);
M_B和M_E配对使用,目的是为了模拟c++的构造函数和析构函数。
谢谢了!!!
作者: lood339 发布时间: 2011-06-14
这是不行的,因为宏替换内容属于token,而s1、s2这些东西属于identifier,一个非identifier的设施无法变成identifier。
使用switch代替吧。
使用switch代替吧。
作者: supermegaboy 发布时间: 2011-06-14