本文主要介紹c++對c語言所增強的內容c語言中的變數都必須在作用域開始的位置進行定義
c++中強調語言的「實用性」,所有的變數都可以在需要的時候進行定義
c語言的struct定義了一組變數的集合,c編譯器不認為這是一種資料型別
c++中的struct是乙個新型別的定義宣告
在c語言中:
int f();表示返回值為int,接受任意的引數
int f();表示返回值為int的無參函式
在c++中:
int f()和 int f(void)都表示返回值為int的無參函式
原始的c語言是沒有bool關鍵字的,在c99之後就可以支援bool關鍵字了
因此可以說bool是c++新增的關鍵字
a.在c語言中,三目運算子的返回值是變數的值
在c++中,三目運算子返回的是變數的本身
b.在c語言中,實現三目運算子的返回值做左值**左值**
左值:可以進行修改的記憶體空間(在c語言中,三目運算子不可以當左值,在c++中,三目運算子可以當左值)
*(a < b?&a:&b) = 30 首先表示式返回的是乙個位址,進行*運算可以進行修改位址中的內容,
在c++編譯器完成了取位址這步工作
c 對c的增強
include using namespace std cout helloworld 命名空間下,可以放函式,變數,結構體,類.命名空間必須定義在全域性作用域下 命名空間可以巢狀命名空間 命名空間是開放的,可以隨時往原先的命名空間新增內容 無名,匿名命名空間 當寫了無名命名空間,相當於寫了stat...
C 對C的擴充套件 增強
c 對c的擴充套件 1.雙冒號 作用域運算子 中對同乙個變數多次宣告,在 塊中使用時,區域性變數會將全域性變數隱藏。若在 塊使用變數前新增 表示為全域性變數。表示作用域運算子,如常見的std cout,std endl 等,表示cout和endl是std作用域下的識別符號。2.命名空間namespa...
c 對c的拓展 增強
一 新增bool型別關鍵字 c中bool型別需要新增stdbool.h標頭檔案,c 則可直接使用 void test bool a true c 可直接定義而c需新增標頭檔案 true和false可直接用做常量使用 二 三目運算子 c 中返回的可以是個變數,但c語言中返回的表示式的值是乙個常量 vo...