|
C++筆記(一)
C和C++的異同比較 1.在C中可以聲明一個(gè)或者幾個(gè)參數(shù)的函數(shù),而不用列出參數(shù),如: int time(); 在C++中,這個(gè)聲明只能用于無參數(shù)的函數(shù). 2.在C中可以用參數(shù)類型同參數(shù)表的舊函數(shù)定義語法,如: int time(A,B) /*# ok in c; ERROR in C++) #*/ int A; int B; { /*# CODE FOR time()} 在C++中是不允許的. 3.在C中,可以對(duì)任何指針類型賦值void,如: int a; int *point; void *pvoid=&a; pint = pvoid; 在C++中,這樣一來會(huì)出錯(cuò),因?yàn)镃++編譯器無法自動(dòng)將void變成賦值表達(dá)式中的另外一指針類型. 但是可以校正處理: pint = ( int * )pvoid; 4. 在C中,enum ,struct ,union標(biāo)志可以和同一范圍的typedef名一致.如下列代碼在C中可以編譯成功. Typedef int timeA; Struct timeA { }; Typedef int timeB; Enum timeB { }; 但是在C++中,enum,struct,union,claa通常稱為名稱.必須與同一個(gè)范圍的typedef名稱不同. |
|
|