我正在尝试将 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
}
}
- 编译器是否足够聪明,可以在循环中解开标头传递?
- 可读吗?还是最好将其分为标题循环和正文循环?