循环的标题与正文重复代码相同

时间:2013-08-08 02:00:50

标签: c++ for-loop iterator iteration

我正在尝试将2D表输出到文件,包括标题行和列。如果它是头文件,我宁愿不检查循环,因为它会让读者分心;但我宁愿不写两次内部for循环,因为我担心它可能会在维护时意外分叉。两个循环都跨越一个范围,但是我并行使用一个整数来避免循环结束时出现舍入问题。

以下是for循环中带有“标题行条件”i<0的代码。

Xi = range.Xi.min();
for(int i = -1; i< 128; i++, Xi += range.Xi/128) {
    if(i<0)                                         
        File.write( format_blank, strlen(format_blank) );       // write top corner of table
    else                                    
        write( File, format_nth_csv, Xi );                      // write the 1st column

    dXi = range.dXi.min();
    for(int j=0; j < 64; j++, dXi += range.dXi/64) {
        if (i<0)                                
            write( File, format_1st_csv, dXi);                  // write the header row
        else                                            
            write( File, format_nth_csv, kernelDensity.evaluatedAt( Xi, dXi ) );// write the table contents
    }
}
  1. 编译器是否足够智能,可以在循环中解包标题传递?
  2. 可读吗?或者它会更好地分为标题循环和体循环吗?

0 个答案:

没有答案