我的意思是除了在函数、类、if、while、switch、try-catch 需要时使用它。
在我看到这个 SO question 之前,我不知道可以这样做。
在上面的链接中,Eli 提到“他们使用它在逻辑部分折叠他们的代码,这些逻辑部分不属于通常会折叠的函数、类、循环等。”
除了上面提到的还有哪些用途?
使用花括号来限制变量的范围并仅在需要时扩展范围(在“需要访问”的基础上工作)是个好主意吗?或者它实际上是愚蠢的?
如何使用作用域,以便您可以在不同作用域但在同一个更大的作用域中使用相同的变量名称?或者重用相同的变量(如果您想使用相同的变量名)并节省释放和分配(我认为某些编译器可以对此进行优化?)是更好的做法吗?还是完全使用不同的变量名更好?
如果我使用的是我想在特定时间释放的资源,我会这样做,例如:
void myfunction() { { // Open serial port SerialPort port("COM1", 9600); port.doTransfer(data); } // Serial port gets closed here. for(int i = 0; i < data.size(); i++) doProcessData(data[i]); etc... }