1. 程式人生 > >03C++語言對C的增強——實用性、變量檢測、struct類型、C++中所有變量和函數都必須有類型、bool類型、三目運算符

03C++語言對C的增強——實用性、變量檢測、struct類型、C++中所有變量和函數都必須有類型、bool類型、三目運算符

自己 聲明 優化 同名 編譯器 直接 修飾 關鍵字 變化

register關鍵字 請求編譯器讓變量a直接放在寄存器裏面,速度快
在c語言中 register修飾的變量 不能取地址,但是在c++裏面做了內容

1
register關鍵字的變化
register關鍵字請求“編譯器”將局部變量存儲於寄存器中
C語言中無法取得register變量地址
在C++中依然支持register關鍵字
C++編譯器有自己的優化方式,不使用register也可能做優化
C++中可以取得register變量的地址

2
C++編譯器發現程序中需要取register變量的地址時,register對變量的聲明變得無效。

3

早期C語言編譯器不會對代碼進行優化,因此register變量是一個很好的補充。

2、變量檢測加強

在C語言中,重復定義多個同名的全局變量是合法的;在C++語言中,不允許定義多個同名的全局變量。C語言中多個同名的全局變量最終會被鏈接到全局數據區的同一個地址空間上。

03C++語言對C的增強——實用性、變量檢測、struct類型、C++中所有變量和函數都必須有類型、bool類型、三目運算符