C 之儲存類

2021-10-04 20:19:08 字數 843 閱讀 5180

儲存類定義c++ 程式中變數/函式的範圍(可見性)和生命週期。這些說明符放置在它們所修飾的型別之前。

auto

register

static

extern

mutable

thread_local (c++11)

從 c++ 17 開始,auto 關鍵字不再是 c++ 儲存類說明符,且 register 關鍵字被棄用。

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

register儲存類用於定義儲存在暫存器中而不是 ram 中的區域性變數。這意味著變數的最大尺寸等於暫存器的大小(通常是乙個詞),且不能對它應用一元的 『&』 運算子(因為它沒有記憶體位置)。

暫存器只用於需要快速訪問的變數,比如計數器。還應注意的是,定義 『register』 並不意味著變數將被儲存在暫存器中,它意味著變數可能儲存在暫存器中,這取決於硬體和實現的限制。

mutable說明符僅適用於類的物件,這將在本教程的最後進行講解。它允許物件的成員替代常量。也就是說,mutable 成員可以通過 const 成員函式修改。

使用thread_local說明符宣告的變數僅可在它在其上建立的執行緒上訪問。 變數在建立執行緒時建立,並在銷毀執行緒時銷毀。 每個執行緒都有其自己的變數副本。

thread_local 說明符可以與 static 或 extern 合併。

可以將 thread_local 僅應用於資料宣告和定義,thread_local 不能用於函式宣告或定義。

c中儲存類

c中的變數可以按三個標準進行劃分 1 作用域 檔案作用域 又稱全域性作用域 快作用域 函式的區域性變數,函式中宣告的變數 函式原型作用域 函式作用域 c語言中僅對goto語句的符號 2 鏈結 空鏈結 區域性變數就是空鏈結 外部鏈結 內部鏈結 使用static關鍵字修飾 3 儲存週期 靜態儲存週期 變...

C 的儲存類

儲存類定義 c 程式中變數 函式的範圍 可見性 和生命週期。這些說明符放置在它們所修飾的型別之前。下面列出 c 程式中可用的儲存類 從 c 11 開始,auto 關鍵字不再是 c 儲存類說明符,且 register 關鍵字被棄用。自 c 11 以來,auto關鍵字用於兩種情況 宣告變數時根據初始化表...

C語言儲存類

好久沒有寫過文章,今天閒來無事,就寫一篇文章解解悶,如有不到之處,請諒解。而今天談到的內容呢?就是c語言儲存類。1 儲存類有哪幾種?自動 auto 靜待 static 暫存器 register 外部 extern 四大類。2 什麼是自動 auto 舉個栗子 auto int a,而a呢?就是儲存方式...