變量
1.變量類型
1. 常用的C++算術類型
type | meaning | minimum size |
---|---|---|
bool |
boole type | undifine |
char |
character type | 8 byte |
int |
integer type | 16 byte |
long |
long integer | 32 byte |
long long |
longer long integer | 64 byte |
float |
single precision float | 6 significant number |
double |
double precision float | 10 significant number |
2. 類型轉換
- 非boole類型的算術值賦給boole類型時,初始值爲0則結果爲false,初始值不爲0時則結果爲true。
- boole類型的算術值賦給非boole類型時,false的結果爲0,true的結果爲1。
- 浮點數類型的算術值賦給整型時,結果向下取整。
- 整型的算術值賦給浮點數類型時,小數部分爲0.
- 給無符號類型賦一個超出其表示範圍的值時,結果爲初始值模無符號類型能表示數值總數取整後的值。
例如,8 byte大小的unsigned char
可以表示unsigned char
,那麼結果是
unsigned u = 10, u2 = 42;
cout << u2 - u << endl;
cout << u - u2 << endl;
unsigned u = 10, u2 = 42;
cout << u2 - u << endl;
cout << u - u2 << endl;
int i = 10, i2 = 42;
cout << i2 - i << endl;
cout << i - i2 << endl;
cout << i - u << endl;
cout << u - i << endl;
cout << i - u2 << endl;
cout << u2 - i << endl;
只有u-u2
和i-u2
是有unsigned
類型參與的運算但結果爲負數,因此需要取4294967264
。
2. 變量初始化
3. 變量標識符(變量名)
C++對於變量標識符必須由數字、字母和下劃線組成。
標識符必須以下劃線或者是字母開頭,標識符長度無限制,大小寫敏感。
命名法則(Camel Case):變量標識符應當反應出變量的實際含義;第一組單詞全部小寫,以後的每個單詞首字母大寫。
int salesProfit;//這是一個好的變量名,符合Camel法則
int a,b;//這是一個壞的變量名
4.名字的作用域
5.引用
引用類型引用另外一種類型,通過將聲明符寫作&d
的形式來定義引用類型,其中d
是聲明的新變量名。
int ival=1024;
int &refVal=ival; //refVal是ival的另一個名字
int &refval2; // Error:reference must be initialized.
Note
- 一般在初始化變量的時候,初始值會被拷貝到新建的對象中。
- 然而在定義引用時,程序把引用和它的初始值綁定在一起,而不是把初始值拷貝給引用,一旦初始化完成,引用將和它的初始值一直綁定在一起。
- 因爲無法將引用重新綁定到另一個對象。
int ival = 12,uval=10;
int &refVal = ival;
cout << "refVal=" << refVal << '\0' << "ival=" << ival << endl;
//輸出 refVal=12 ival=12
refVal = uval;
cout << "refVal=" << refVal << '\0' << "ival=" << ival << endl;
//輸出 refVal=10 ival=10
return 0;
可以看出一旦對引用初始化以後,一改全改,對引用的任何操作都看作對於初始值的操作。