-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