在c++中使用sizeof
c++類中有static靜態變數,virtual虛函式,還有繼承、派生等。sizeof是c語言的一種單目操作符,如c語言的其他操作符++、--等。它並不是函式。sizeof操作符以位元組形式給出了其運算元的儲存大小。sizeof使用形式有三種:sizeof(var_name)或sizeof var_name或sizeof(var_type)。
針對c++特有,並且針對的是32位機來看一下。
1.(列子中忽略構造及析構函式)
classa
};sizeof(a)= 1;
肯定不是零。如果是零的話,宣告乙個class a a[10]
物件陣列,而每乙個物件占用的空間是零,這時就沒辦法區分a[0],a[1]…了。
因為a是空類,佔位元組為1是為了區分兩個不同的物件,也可以看做是佔位符,該位元組的位址也就是物件的位址。但是這裡的
1也不是絕對的,只是編譯器這樣設定而已。
2.
classb
staticint i;
};sizeof(b) = 1;
因為static變數為類中共享,在靜態區分配空間,在編譯時就分配了空間,不佔類記憶體。
3.
classc
};sizeof(c)= 4;
b類中有虛函式,相應的會有虛表指標存在,佔4個位元組,恰好是乙個指標的空間。如果有多個virtual函式或有多個類繼承了c類,虛函式也只佔4個位元組,如4:
4.
classd : public c
virtualvoid b(){}
};sizeof(d)= 4;
在C 中使用Queue
介紹 queue類執行將放在在queue中的物件採用先進先出的資料結構。物件從一端插入到佇列中從另一端移除。物件的順序程序使用queue queue介面 queue類實現了三個主要集合介面 icollection ienumerable和icloneable。queue的重要方法 queue類常用的...
在 C 中使用畫筆
出處 在 c 中使用畫筆 public class rectangle shape protected point m start protected point m end public rectangle point start,point end,color fgcolor m start s...
在 C 中使用 Python script
想要在c 中嵌入script 除了自己寫指令碼引擎外,lua,python 都可以在c 中使用,另外 monobind,angelscript library 都是一些c script library,可以嵌入到c 中使用 今天在c 中試著嵌入 python 示例 在 python 2.5.2 de...