常量:編程
在C++中有許多種數據類型(如int,float,bool等等)。而這些數據類型又能夠聲明定義出變量與常量兩種不一樣的具體數據。它們兩種分類的標準是不同的,是兩個角度能夠疊加的分類,舉個栗子:int說明這是個整數,變量x說明這個可變的數(數學中的未知數),二者疊加就是一個整數的未知數(在一個不透明箱子裏有多少個球,這個數目是未知的,可是它必定是個整數,不存在半個球)。編程語言
對於常量與變量,它們在C++(vs)中的定義方式是不一樣的。咱們聲明一個變量只須要寫 int x,float y(x,y在數學中也表示未知數)便可。而後對x和y進行賦值,x=10,y=1.000。通常狀況下咱們聲明的都是變量,變量的值在程序中是能夠發生改變的,由於是變量嘛。
spa
而常數的聲明則須要const關鍵字或者#define。常數一旦聲明就沒法改變,如PI就是3.14,不能夠對它進行加減乘除運算(這與數學上是一致的,圓周率就是3.14不可更改,這個數據引進到編程語言中就是常量),因此,對D++運算是不容許的,違反邏輯(你在生活中也沒法對圓周率進行修改吧)code
#define與const的區別:blog
由上圖#define定義時沒有數據類型,只是定義一個常數,在進行運算時不會進行相應檢查,可能出現錯誤。 而const後面帶有數據類型,實質上仍是個float數據,佔用數據段空間。數學
最重要的一點:#define只是一個數據替換,在須要它的時候對數據進行替換class
#define N 2+3 //咱們預想的N值是5,咱們這樣使用N double a = N/2; //咱們預想的a的值是2.5,可實際上a的值是3.5
而形成這個問題的緣由就是在N/2時,對N進行了一個替換展開,稱爲2+3,因此最後運算結果爲2+3/2=3.5
引用:
引用就是某一變量(目標)的一個別名,對引用的操做與對變量直接操做徹底同樣。所謂別名簡單理解就是人們的大名與小名同樣。變量
引用的聲明方法:類型標識符 &引用名=目標變量名;sso
int a=10;數據類型
int &ra=a; //定義引用ra,它是變量a的引用,即別名。注意:聲明引用時,必須同時對其進行初始化。