这是好习惯吗?还是应该用函数替换{}之间的代码块?它可能是可重用的(我承认),但我这样做的唯一动机是取消分配colsum,因为它是巨大的,不是必需的,因此我可以释放分配的内存。

 vector<double> C;
 {
  vector<double> colsum;
  A.col_sum(colsum);
  C = At*colsum;
 }
 doSomething(C);

最佳答案

在我的书中,使用方括号将自动变量的作用域确定是可以的,但是通常,如果您发现自己做了很多事情,尤其是在同一函数中多次执行,则您的函数可能做了太多不同的事情,应该将其分解。

07-24 14:12