c 11關鍵字剖析

2021-09-11 06:18:11 字數 615 閱讀 2206

1

auto

該關鍵字用於兩種情況:1. 宣告變數時: 根據初始化表示式自動推斷變數型別。2. 宣告函式作為函式返回值的佔位符。

2static

static變數只初始化一次,除此之外它還有可見性的屬性:1. static修飾函式內的「區域性」變數時,表明它不需要在進入或離開函式時建立或銷毀。且僅在函式內可見。2. static修飾全域性變數時,表明該變數僅在當前(宣告它的)檔案內可見。3. static修飾類的成員變數時,則該變數被該類的所有例項共享。

3register

暫存器變數。該變數儲存在cpu暫存器中,而不是ram(棧或堆)中。該變數的最大尺寸等於暫存器的大小。由於是儲存於暫存器中,因此不能對該變數進行取位址操作。4

extern

引用乙個全域性變數。當在乙個檔案中定義了乙個全域性變數時,就可以在其它檔案中使用extern來宣告並引用該變數。

5mutable

僅適用於類成員變數。以mutable修飾的成員變數可以在const成員函式中修改。參見上一章chan.******.h中對mutex的使用。

6thread_local

執行緒週期

from

C 11特性 decltype關鍵字

我們之前使用的typeid運算子來查詢乙個變數的型別,這種型別查詢在執行時進行。rtti機制為每乙個型別產生乙個type info型別的資料,而typeid查詢返回的變數相應type info資料,通過name成員函式返回型別的名稱。同時在c 11中typeid還提供了hash code這個成員函式...

C 11基礎 decltype關鍵字

1.decltype關鍵字獲取表示式的型別 int x 0 decltype x y 1 y int2.推導規則decltype exp int n 0 volatile const int x n decltype n a n a int decltype x b n b const volati...

C 11特性 auto關鍵字

正文 本文的內容已經不新鮮了。關於auto,翻來覆去被人知道的都是這些東西,本文並沒有提出新穎的auto用法。本人原是痛恨部落格一篇篇都是copy而來缺乏新意的探索,當然,本文不是copy而來,但發布這樣一篇大家皆知的文章心裡甚是惶恐。本文對auto的內容加以整理,權當是自己的複習筆記了。回到頂部 ...