C++筆記(一)
C和C++的異同比較 1.在C中可以聲明一個或者幾個參數(shù)的函數(shù),而不用列出參數(shù),如: int time(); 在C++中,這個聲明只能用于無參數(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中,可以對任何指針類型賦值void,如: int a; int *point; void *pvoid=&a; pint = pvoid; 在C++中,這樣一來會出錯,因為C++編譯器無法自動將void變成賦值表達式中的另外一指針類型. 但是可以校正處理: pint = ( int * )pvoid; 4. 在C中,enum ,struct ,union標志可以和同一范圍的typedef名一致.如下列代碼在C中可以編譯成功. Typedef int timeA; Struct timeA { }; Typedef int timeB; Enum timeB { }; 但是在C++中,enum,struct,union,claa通常稱為名稱.必須與同一個范圍的typedef名稱不同. |
|