<分区>
我开始越来越喜欢使用连续作用域 block 编写长 C++ 算法函数,如下所示:
void my_algorithm(const MyStruct1 &iparam1, MyStruct2 &oparam2)
{
// First block
MyStruct3 intermediate_var3;
{
double temporary_var;
// Functional step 1.1
// Functional step 1.2
intermediate_var3 = ...
}
// Second block
MyStruct4 intermediate_var4;
{
double temporary_var;
// Functional step 2.1
// Functional step 2.2
intermediate_var4 = ...
}
// Final block
{
int temporary_var;
oparam2 = ...
}
}
我开始认为这是一个很好的方法来阐明函数结构和限制临时变量的范围(例如计数器i
,j
,k
等)。我看到这样的范围 block 在 C 函数中有意义以启用新的声明(请参阅 Why enclose blocks of C code in curly braces?)。
在 C++ 的上下文中,这是好的还是坏的做法?