没有声明的支架

时间:2014-04-13 15:02:52

标签: c++ codeblocks

我看到一些代码的括号内没有"" if或" for"或"做"或者只是评论。

像这样

  

//一些评论

     

{

     

int a = 5;

     

//以及更多代码

     

}

这是什么?

注意:我注意到在使用我的IDE(code :: blocks)时,它有#34; - "在左侧,当您单击它时,它隐藏括号中的所有代码。这是括号中唯一没有声明的用法吗?

1 个答案:

答案 0 :(得分:5)

这是一个范围。它限制了在其中声明的任何变量的生命周期。对于用户定义的类型,这意味着在退出范围之前进行析构函数调用。

例如:

#include <iostream>
struct Foo
{
  ~Foo() { std::cout << "Foo destructor\n";  }
};

int main()
{
  std::cout << "before scope \n";

  {
    Foo f;
  }
  std::cout << "after scope\n";

}