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)