【发布时间】:2015-06-27 17:50:57
【问题描述】:
我有三个列表,一个带有整数变量(ilist),一个带有双变量(dlist),一个带有带有特定初始值的std::string变量(slist)。 例子: ilist=(ilist1=init_val_1)(ilist2=init_val_2)
预处理器是否可以生成如下代码:
int ilist1=init_val_1;
int ilist2=init_val_2;
...
int ilistn=init_val_n;
double dlist1=dnit_val_1;
double dlist2=dnit_val_2;
f(ilist1, ilist2, ilist3, ..., ilistn, dlist1, dlist2);
我可以在这个项目中使用 boost (boost::preprocessor)。
【问题讨论】:
-
为什么不直接使用数组呢?我的意思是,而不是通过预处理器来破解这个?
-
是的,只要 n 足够小(我认为是 256)就很有可能。
标签: c++ boost boost-preprocessor