C++ Primer(一)

變量

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可以表示0281=255 區間內的所有值,如果賦予其一個超出區間的值,則結果是該值模256。因此如果把1 賦值給一個unsigned char,那麼結果是

(1)mod256=255
    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-u2i-u2是有unsigned類型參與的運算但結果爲負數,因此需要取232=4294967296 的模,均爲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;

可以看出一旦對引用初始化以後,一改全改,對引用的任何操作都看作對於初始值的操作。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章