我將如何做一個功能,可以讓你的函數的調用後,打開支架,並宣佈代碼括號內,與此類似:添加到範圍函數調用
openScopeBrackets();
{
//...code here
}
closeScopeBrackets();
我已經用OpenGL看到了這一點,太:
glBegin(GL_TRIANGLES);
{
//...code here
}
glEnd()
請幫我...
我將如何做一個功能,可以讓你的函數的調用後,打開支架,並宣佈代碼括號內,與此類似:添加到範圍函數調用
openScopeBrackets();
{
//...code here
}
closeScopeBrackets();
我已經用OpenGL看到了這一點,太:
glBegin(GL_TRIANGLES);
{
//...code here
}
glEnd()
請幫我...
很難說你想要做什麼,而是創建一個本地範圍只是通過增加{
}
在函數體內部。在此範圍內聲明的變量在其外部不可見。
void doSomething()
{
int i;
{
//Local Scope
}
}
這對函數調用的工作是否一樣? – Omri
@TehCodr你可以放一對括號幾乎_anywhere_來創建一個新的範圍。這就是它的作用:創建一個新的範圍,以便在括號內聲明的變量將在結尾'}處消失。 –
@TehCodr:在你放置'{'&'}'的地方創建一個本地範圍。 –
在C/C++中,函數只能從任何其他函數調用。但是我們不能在其他函數中定義函數。因此,不可能首先調用該函數,然後編寫被調用函數的代碼。
void fName(){
otherFunction(){//NOT allowed
...definition for otherFunction
}
}
GCC接受作爲嵌套函數的語言擴展http://gcc.gnu.org/onlinedocs/gcc-4.6.2/gcc/Nested-Functions.html但它只適用於C,不適用於C++ –
我不'我想嘗試一下func-ception,我只想調用一個函數,然後在括號中放入特定於該函數的函數後面的聲明。參考glBegin和glEnd ... – Omri
如果你想在塊的開始和結尾發生一些事情,你可以使用構造/析構函數。
看看QMutexLocker是一個鼓舞人心的例子,看看我的意思。
glBegin做什麼? – Avinash