宣告和定義的區別

2021-04-13 12:40:26 字數 588 閱讀 4869

c++ primer 3rd 5.2宣告語句講得不清不楚的,還是effective c++ 2nd講得清楚.所謂宣告( declaration),就是用來將乙個object function class 或tempate的型別名稱告訴編譯器.宣告式並不帶有細節資訊.

對object而言,其定義式是編譯器為它配置記憶體的地點.

extern int x; // object declaration

int x; // object definition.

對於function或function template而言,其定義式是提供函式本體( funtion body).

int fun( int arg) // function declaration

int fun( int arg) // function declaration definition.

對於class或class template而言,其定義式必須列出該class或tempalte的所有members;

class clock; // class declaration.

// class definition

class clock

宣告和定義的區別

宣告和定義的區別 2012 03 22 14 34 標籤 declare define 分類 c language 變數定義 用於為變數分配儲存空間,還可為變數指定初始值。程式中,變數有且僅有乙個定義。變數宣告 用於向程式表明變數的型別和名字。定義也是宣告 當定義變數時我們宣告了它的型別和名字。ex...

宣告和定義的區別

宣告和定義的區別 從編譯原理上來說 宣告是僅僅只告訴編譯器有某個型別變數被使用,編譯器並不會為它分配任何記憶體。而定義就是為其分配了記憶體空間。宣告不一定是定義,定義一定是定義 變數的定義 用於為變數分配儲存空間,也可為變數指定初始值,變數有且僅有乙個定義。變數的宣告 用於向程式表明變數的型別和名字...

宣告和定義的區別

一 宣告 指定了乙個變數的識別符號,用來描述變數的型別,是型別還是物件,或者函式等等,用於編譯器識別變數名所引用的實體。定義 是對宣告的實現或者例項化 例 int a 屬於宣告,並沒有給a 定義它的值 int a 3 宣告變數a為int型別,並定義為3.定義在前,宣告在後。二 宣告與定義的區別 定義...