0

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

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

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. 可读吗?还是最好将其分为标题循环和正文循环?
4

0 回答 0