1.常規
char str1 = 「hello」 ;
char str2[5] = ;
char str3[6] = ;
char *p1 = "hello";
char *p2=;
int n = 10;
int *q = &n;
sizeof (str1 ) = 6 (自動加了'/0')
strlen (str1 ) = 5 (字串的長度)
sizeof (str2 ) = 5 (字元陣列的大小)
strlen (str2) = 未知 (該字串缺少結束符'/0')
sizeof (str3) = 6 (字元陣列的大小)
strlen (str3) = 5 (該字串的長度為5)
sizeof ( p1 ) = 4 (p1是乙個指標,大小為4)
sizeof ( p2 ) = 8 (p2是長度為2的字串陣列)
sizeof ( n ) = 4 (整型大小為4)
sizeof ( q ) = 4 (q是乙個指標,大小為4)
2.動態分配記憶體
int *p = (int *)malloc( 100 );
sizeof ( p ) = 4 (p是乙個指標,大小為4)
3.函式引數
void function1( char p,int num )
void function2( int p,int num )
4.多重繼承
class a{};
class b{};
class c:public a,public b{};
class d:virtual public a{};
class e:virtual public a,virtual public b{};
sizeof ( a ) = 1 (空類大小為1,編譯器安插乙個char給空類,用來標記它的每乙個物件)
sizeof ( b ) = 1 (空類大小為1,編譯器安插乙個char給空類,用來標記它的每乙個物件)
sizeof ( c ) = 1 (繼承或多重繼承後空類大小還是1)
sizeof ( d ) = 4 (虛繼承時編譯器為該類安插乙個指向父類的指標,指標大小為4)
sizeof ( e ) = 8 (指向父類a的指標與父類b的指標,加起來大小為8)
5.資料對齊
類(或結構)的大小必需為類中最大資料型別的整數倍.cpu訪問對齊的資料的效率是最高的,因此通常編譯浪費一些空間來使得我們的資料是對齊的
class a;
class b;
class c;
sizeof(a) = 4 (內含乙個int ,所以大小為4)
sizeof(b) = 8 (int為4,char為1,和為5,考慮到對齊,總大小為int的整數倍即8)
sizeof(c) = 8 (同上)
6.函式與虛函式
編譯器為每個有虛函式的類都建立乙個虛函式表(其大小不計算在類中),並為這個類安插乙個指向虛函式表的指標,即每個有虛函式的類其大小至少為乙個指標的大小4
class a;
class b;
class c:public b;
class d:public b;
class e;
sizeof (a) = 4 (內含乙個int,普通函式不佔大小)
sizeof (b) = 8 (乙個int ,乙個虛函式表指標)
sizeof (c) =12 (乙個int ,乙個虛函式表指標,乙個char ,再加上資料對齊)
sizeof (d) = 8 (乙個int ,乙個虛函式表指標,多個虛函式是放在乙個表裡的,所以虛函式表指標只要乙個就行了)
sizeof (e) = 1 (static 函式不佔大小,空類大小為1)
7.父類的私有資料
雖然在子類中不可用,但是是可見的,因此私有的資料還是要佔子類的大小
class a;
class b:public a{};
sizof(b) = 4; (內含乙個不可用的父類的int)
8.大概就這麼多了吧,想到再加吧。虛函式,多重繼承,空類是比較複雜的,大家大概記住知道就行了
weiloujushi補充:
class static_d
sizeof(static_d) ==1 //靜態資料成員不計入類內
寫XML要注意的一些問題
在xml文件中必須要有結束標記 xml標記都是大小寫敏感的 在xml中不允許不正確的巢狀包含 所有的xml文件必須有乙個根元素,有且只能有乙個根元素 屬性值必須使用引號 or 在xml文件中,空白部分不會被解析器自動刪除 這點值得注意 使用 xml,新行總是被標識為 lf 即 line feed,在...
調適的時候要注意的一些問題
調適的時候要注意的一些問題 1 連線線,如杜邦線 排針會有很大的干擾訊號影響,尤其是上m的訊號傳輸時候一定要注意訊號間的干擾。a 只要靜的下心來,什麼都能做好的 b 心若冰晶,天塌不驚,不慌不忙,一切盡在掌控之中 c 到了這個境界已經跟原理圖無關了,pcb布板布局,變得越加的重要 i.輸入輸出線不能...
String 一些問題
前言 等號 對於基本型別,比較的是值,對於引用型別,比較的是記憶體位址。1.在物件池中建立,如果常量池中已經存在則返回常量池中已經有的。private static void test1 結果 true 2.乙個在string pool中,乙個在堆中。private static void test...