C++學習容易忽視的地方——數據類型與表達式

1、運算符

1.1 自增自減運算符

    1.1.1 自增運算符

        int i = 0, j;
        j = i++;//後置,i的值自增變爲1,表達式i++的值爲i自增之前的值,即j得值爲0
        j = ++i;//前置,i的值自增變爲1,表達式i++的值爲i自增之後的值,即j得值爲1

   1.1.2 自減運算符     

        int i = 0, j;
        j = i++;//後置,i的值自增變爲1,表達式i++的值爲i自增之前的值,即j得值爲0
        j = ++i;//前置,i的值自增變爲1,表達式i++的值爲i自增之後的值,即j得值爲1

1.2 條件運算符(a?b:c)

     ( ? : )這是唯一一個三目運算符。格式如標題中所示:

     (a?b:c) 解釋: 如果 a 爲真,則返回b,如果a爲false,則返回c。

2、類型轉換
2.1 隱式類型轉換:'a'+1,2U+5,int i=3.14

2.2 顯示類型轉換:

c++提供了四種強制類型轉換方式:static_cast,dynamic_cast,const_cast,reinterpret_cast。

格式: cast-name<type> (expr)

早期C++中轉換格式:type (expr),(type) expr       -------type爲所要強轉的類型

例如:double k=i / (double) j;      //將j強制轉換爲double類型

           double k=i / double (j);

3、常量修飾符
const修飾符,constexper

4、類型推導
4.1 類型別名:

第一種是使用關鍵字typedef,例如:typedef long long ll;

第二種是使用using關鍵字,例如:using price = double;

4.2 auto類型推導:

C++11中auto賦予了新的含義,編譯器利用它可以根據初始值的類型自動推導出需要的數據類型。例如:

auto pi=3.1415926, rad = 1.0;

auto area = pi*rad*rad;       //area 爲double類型

4.3 decltype關鍵字:只想用表達式類型而不想用表達式的值來定義對象。

語法格式:decltype (expr)

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