-2
两个块我有以下类型的功能。我对这是什么样的声明感到困惑?我只习惯于传统类型(可能被称为别的东西),在函数声明后我有一块代码。但是这里有两个。你能告诉我这会做什么?试图了解C++函数的代码
static void afunction(atype *atype)
{
{
//Do stuff
}
{
//Do stuff
}
}
两个块我有以下类型的功能。我对这是什么样的声明感到困惑?我只习惯于传统类型(可能被称为别的东西),在函数声明后我有一块代码。但是这里有两个。你能告诉我这会做什么?试图了解C++函数的代码
static void afunction(atype *atype)
{
{
//Do stuff
}
{
//Do stuff
}
}
这些区块内声明的所有变量将被视为本地到该块,和他们的析构函数(如有)将离开该块时被调用。
这可以用于“隐藏”的变量,或调用构造/析构在该块中。
例如,定时一个块的执行,则可以初始化类,其中的构造设置一个起始时间的变量,和析构函数获取结束时间和caculates的持续时间。
这也以相同的方式为锁定使用。在块的末尾,无论您如何以及在哪里退出该块,锁都会被释放(析构函数将被调用)。
韦思这个程序能标志。 – jiggunjer
见http://stackoverflow.com/questions/5072845/scope-with-brackets-in-c – kfx