C 中的儲存類

2021-09-12 14:39:12 字數 1225 閱讀 9189

auto f = 3.14;  // double

auto s("hello"); // const char*

auto z = new auto(9); // int*

auto x1 = 5, x2 = 5.0, x3 = 'r'; // 錯誤,必須是同一型別

#include "iostream"

using namespace std;

// static儲存類例項

static int count = 10; // 靜態全域性變數

void fun(void);

int main()

return 0;

}void fun(void)

static修飾類的成員變數:

#include using namespace std;

class data

~data(){}

void show()

private:

const int i=100; // 錯誤!!!

};//或者通過這樣的方式來進行初始化

foo::foo():i(100){}

// 第乙個檔案main.cpp

#include int count ;

extern void write_extern();

int main()

// 第二個檔案support.cpp

#include extern int count;

void write_extern(void)

在這裡,第二個檔案中的 extern 關鍵字用於宣告已經在第乙個檔案 main.cpp 中定義的 count。現在 ,編譯這兩個檔案,如下所示:

g++ main.cpp support.cpp -o write

這會產生 write 可執行程式,嘗試執行 write,它會產生下列結果:

./write

thread_local int x;  // 命名空間下的全域性變數

class x

;static thread_local std::string x::s; // x::s 是需要定義的

void foo()

C 中類所佔的儲存空間

先看程式再分析 include using namespace std class a virtual void set int a virtual a class b struct c void main cout 分析如下 類所佔的空間 類成員變數所佔空間 4 如果存在虛函式的話 注意 1 類成...

C 中類所佔的儲存空間

分析如下 類所佔的空間 類成員變數所佔空間 4 如果存在虛函式的話 注意 1 類成員所佔的空間可能會涉及到記憶體資料對齊的問題,需要謹慎考慮 1 當成員變數的長度都小於處理器位數時,所有成員變數所佔的總空間一定是最長的變數所佔空間的整數倍 2 如果某一成員變數長度大於處理器位數,則以處理器的位數為對...

C 的儲存類

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