C++對c的增強和擴充套件
阿新 • • 發佈:2020-12-17
C++對c的增強和擴充套件
全域性變數檢測增強
int c;
int c = 10;
在C下沒問題,在C++下不行,因為重定義。
函式檢測增強
C語言:返回值,形參型別,引數個數沒有檢測
但是C++中檢測了
型別轉換檢測增強
char *p = malloc(64)
c++下必須一致:
char *p = (char *)malloc(64)
struct 增強
C語言下結構體不能放函式:
C++下結構體可以放函式,可以簡化關鍵字struct
C++可以通過結構體裡的函式修改結構體裡的變數
bool型別擴充套件
c語言下沒有bool型別
c++下有bool型別:
bool會把非0的數轉為1來處理。
true 真 1
false 假 0
其實也就是一個巨集定義
三目運算子的增強
在c++下三目運算子其實返回的是一個變數
int a=10,int b=100;
a>b?a:b = 1000;
//b的值會被修改為100
在c語言下三目運算子返回的是一個值
const增強
c語言下const
全域性const
在全域性定義的const受到常量區的保護,是無法修改的
區域性const
可以採用指標的間接修改來處理。
c++下const
全域性const
和c語言是一樣的,間接和直接修改都不行
區域性const
通過間接修改可以程式設計完成,但是並不能修改