我有以下问题。 我已经编写了以下方法。 设置标志后,将使用哪个版本。
#define version2
void calc(double &x
#ifdef version2
, double &dot_x
#endif){
for(int i=0;i<n;i++){
double data[]=[... expensive computation ...];
x=[... something depending on data...];
#ifdef version2
dot_x=[... something depending on data ...];
#endif
}
}
但是现在,我需要同时使用两个版本,并且我不想复制它。 因为我每次都必须在两个版本的数据计算上进行更改。 是否有可能在一个地方实现两个版本(例如makro等)? 如果没有if判定,那要花时间吗?
非常感谢您的回答,
kildschrote