C 說明符和CV限定符

2021-08-07 10:56:27 字數 405 閱讀 9306

1. 下面是儲存所說明符:

2. 下面就是cv限定符:

【volatile】

關鍵字volatile表明,即使程式**沒有對記憶體單元進行修改,其值也可能發生變化。例如,可以將指標指向某個硬體位置,其中包含了來自串列埠的時間和資訊。在這種情況下,硬體(而不是程式)可能修改其中的內容。或者兩個程式可能互相影響,共享資料。該關鍵字的作用是為了改善編譯器的優化能力。例如,假設編譯器發現,程式在幾條語句中連續使用了某個變數的值,則編譯器可能不是讓程式查詢這個值兩次,而是將這個值快取到暫存器中。這種優化假設變數的值在著來那個詞使用之間不會變化。如果不將變數宣告為volatile,則編譯器將進行這種優化:將變數宣告為volatile,相當於告訴編譯器,不要進行這種優化

參考:

說明符和限定符

有些被稱為儲存說明符或cv 限定符的c 關鍵字提供了其他有關儲存的資訊。儲存說明符 1 auto 在c 中不再是說明符 2 register 3 static 4 extern 5 thread local c 11新增的 6 mutable 下面就是cv限定符 1 const 2 volatile...

c 儲存說明符以及cv限定符總結

c 中的儲存說明符種類如下 cv限定符有 下面詳細說一下功能 auto 在c 11之前用來表示變數是一種自動型的變數,其儲存的生命週期為乙個函式或者 塊裡,若不顯式定義,預設為自動儲存變數。而在c 11之後,auto被用作自動判別資料型別。例如以下 c 11標準及以上 int a 1,b 2 aut...

C 宣告之CV限定符

目錄 1.const 1.1 const obj 如果呼叫 non const member fun會編譯出錯 經典錯誤 1.2 例子 std裡的操作符過載 1.3 例子 cpp primer 15節 基類的定義 class complex complex operator const comple...