Is this good practice? Or should I just replace the code block between {
and }
with a function? It could be reusable (I admit) but my only motivation for doing this is to deallocate colsum
since it's huge and not required so that I can free the allocated memory.
vector<double> C;
{
vector<double> colsum;
A.col_sum(colsum);
C = At*colsum;
}
doSomething(C);
Using brackets to scope automatic variables is fine in my book, but generally if you find yourself doing it a lot, especially multiple times in the same function, your function is probably doing too many different things and should be broken up.