今天在**裡看到了這樣一段**:
typedef typename refbase::weakref_type weakref_type;
起初一直搞不懂為什麼要加個typename,後來搜尋了一下才知道這個關鍵字是有目的的:
如果不加這個關鍵字,編譯器就不知道refbase::weakref_type到底是個什麼東西?可能是靜態成員變數,也有可能是靜態成員函式,也有可能是內部類。
加上這個關鍵字等於手動告訴編譯器:refbase::weakref_type 就是乙個型別。
例:
templateclassa ;
template
class
b ;
intmain()
如果把注釋取消,就會產生編譯錯誤。
C 中的long與C 中的long
微軟很厲害,c 是非常優秀的計算機語言,c 比c 還厲害,c c 本身不就包含四個 號嗎?而微軟發明了c c 中的long比c 中的long要long兩倍!不信你看 我正在使用.net寫乙個預約排隊的程式,因為一前通過vc編寫了乙個用於顯示登記資訊的控制項,現在使用c 重新預約程式,則必然要呼叫vc...
c中的const與c 中的const
c中的const是乙個偽唯讀識別符號。include include int main 此時輸出a的值為20,被指標間接的改變了。c 中,const進行了增強,不在是乙個偽識別符號了。const int a 10 int p int a p 20 cout a p endl cout a endl ...
C 中的const 和C中的區別
c 中的const 一 和c中的區別 c 中的const正常情況下是看成編譯期的常量,編譯器並不為const分配空間,只是在編譯的時候將期值儲存在名字表中,並在適當的時候折合在 中.所以,以下 include using namespace std int main for int i 0 i si...