这是好习惯吗?还是应该用函数替换{
和}
之间的代码块?它可能是可重用的(我承认),但我这样做的唯一动机是取消分配colsum
,因为它是巨大的,不是必需的,因此我可以释放分配的内存。
vector<double> C;
{
vector<double> colsum;
A.col_sum(colsum);
C = At*colsum;
}
doSomething(C);
最佳答案
在我的书中,使用方括号将自动变量的作用域确定是可以的,但是通常,如果您发现自己做了很多事情,尤其是在同一函数中多次执行,则您的函数可能做了太多不同的事情,应该将其分解。