變量和數據類型概念

1.一切程序設計中最重要的兩個概念就是變量和數據類型。面向對象程序設計中變量也叫對象包括:我們常說基本類型變量,自定義類類型變量,及它們的常量變量靜態變量等,甚至包括字面常量,函數甚至也可以稱之爲變量(對於定義完的具體函數也會分配到自己的空間,有自己的類型,可以取其地址,所以函數也可以稱之爲對象,這體現了一切都是對象的思想,但一般我們說變量還是指前幾種)。數據類型有基本數據類型,自定義數據類型,及對於他們的迭代類型(指針,數組)(注意類型修飾符&不能改變變量的類型,只是一個別名而已,和類型的別名typedef相似(不同之處在typedef的別名在編譯時被自動解釋,在名稱列表中並不純在,而引用在名稱鏈表中確實存在,如在頭文件引用中typedef可以重複定義想define一樣,而引用如何在頭文件中多次包含就會出現重定義,因爲引用存在定義分配空間雖然是引用別的變量空間),引用是個複合類型,即當用引用定義變量時,需要藉助其他類型關聯)。

2.變量聲明,定義,初始化,賦值

變量聲明:變量名(即變量的標識符)列表長度加一(該列表是查找某個具體變量的入口地址列表,列表中存儲實際變量的地址),但入口地址中並沒有值,即該變量還沒有分配內存空間。變量定義:變量名列表相應地址賦值(變量的地址),變量分配內存空間。

extern int i;//聲明

int i;//聲明,定義,幷包含了默認初始化。通常我們只說定義。

int i = 0;//聲明,定義,幷包含的顯式初始化。通常我們說定義並初始化。

i = 1;//賦值。

其中初始化和賦值是有很大區別的。賦值吊是調用的賦值運算符,不會調用拷貝構造函數,而初始化會調用拷貝構造函數。

如:

A a = b;等價於A a(b);而A a; a = b是不等價與A a(b);的。

發佈了30 篇原創文章 · 獲贊 0 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章