宣告與定義

2021-08-31 10:47:12 字數 648 閱讀 7606

宣告是一種c++構造,它引入(或重新引入)乙個名稱到某個c++作用域(scope)中。而且,這種引入通常都包含對所引入名稱的乙個區域性分類(partial classification)

class c;//類c的宣告

void f(int p);//函式f的宣告,其中p是乙個被命名的引數

extern int v;//變數v的宣告

template//函式模板func的宣告

void func(t);

對於巨集定義和goto語句而言,即使它們,即使它們都具有乙個名稱,但它們卻不屬於宣告的範疇。

定義是如果已經確定這種c++構造(即宣告)的細節,或者對於變數而言,已經為它分配了記憶體空間,那麼宣告就成了定義(definition)

class c{};//類c的定義和宣告

void f(int p){}//函式f()的定義與宣告

extern int v = 1;//乙個初始化器使之成為v的定義

int v;//前面沒有extern的全域性變數宣告,同時也是定義

template//函式模板func的定義

void func(t){}

宣告與定義

我們在程式設計中,時時刻刻都用到變數的定義和變數的宣告,可有些時候我們對這個概念不是很清楚,知道它是怎麼用,但卻不知是怎麼一會事,下面我就簡單的把他們的區別介紹如下 變數的宣告有兩種情況 1 一種是需要建立儲存空間的 定義 宣告 例如 int a在宣告的時候就已經建立了儲存空間。2 另一種是不需要建...

宣告與定義

什麼是宣告?什麼是定義?它們有什麼區別?定義 什麼是定義 所謂的定義就是 編譯器 建立乙個物件,為這個物件分配一塊記憶體並給它取上名字,這個名字就是我們經常所說的變數名或物件名。但是注意,這個名字一旦和這塊記憶體匹配起來 可以想象是這個名字嫁給了這塊空間 它們就同生共死 終身不離不棄,並且這塊記憶體...

宣告與定義

定義 所謂定義就是 編譯器 建立乙個物件,為這個物件分配一塊記憶體並給它取上乙個名字,這個名字就是我們經常所說的變數名或物件名。其特點是 這個名字一旦和這塊記憶體匹配起來就不分開,並且這塊記憶體的位置也不能改變。同時乙個變數或物件在一定區域中只能被定義一次。宣告 宣告有兩重含義。第一重含義 告訴編譯...