可能重复:
C++中带括号的范围
我正在处理v8 javascript引擎,为我大学的新生开发一个学习环境,我加快了这个:
d8.cc:309
char* input = NULL;
{ // Release lock for blocking input.
Unlocker unlock(isolate);
input = fgets(buffer, kBufferSize, stdin);
}
Run Code Online (Sandbox Code Playgroud)
就语言标准而言,整体结构(即未命名的块)被称为复合语句.它有助于引入新的范围.
在C++中,通常有两种用途:
将局部变量限制为特定的代码段; 目的是尽量减少范围"污染",并使代码的读者更容易.(在C和Java等其他语言中也可以实现相同的目标.)
严格控制对象/资源的生命周期,因为范围局部变量的析构函数将在范围的末尾自动调用.这可以用于几个聪明的事情,例如自动关闭文件句柄,释放互斥锁等.所以你可能听到人们谈论例如scoped互斥.(C和Java没有析构函数,所以这个概念不会翻译.)
| 归档时间: |
|
| 查看次数: |
695 次 |
| 最近记录: |