[c++][基礎]2_表示式
2.1算術操作符
2.2關係操作符和邏輯操作符
2.3位操作符
2.4賦值操作符
2.5自增、自減操作符
2.6箭頭操作符
2.7條件操作符
eg:
inti =10, j = 20;
intmax = (i > j) ? i : j;
2.8 sizeof操作符
sizeof
其作用就是返回乙個物件或者型別所佔的記憶體位元組數
, 其返回值型別為
size_t。
2.9逗號操作符
逗號表示式是一組由逗號分隔的表示式,這些表示式從左向右計算,但返回的結果是其最右邊表示式的值。
eg:int
i = (2+1, 3+2, 5*3);
cout
<< i
<< endl;
2.10復合表示式的求值
2.11 new和
delete表示式
2.12型別轉換
2.12.1何時發生隱式轉換
在混合型別的表示式中,用作條件的表示式被轉換為
bool型別
用乙個表示式初始化某個變數,或將某乙個表示式賦值給某個變數,則表示式被轉換為該變數的型別。
eg:int
ival = 3.14;
轉為整數
int *ip;
ip = 0; //0
轉為指標
2.12.2算術轉換
在算術表示式中,會將運算元型別轉為表示式中的最大型別。
2.12.3強制轉換
強制型別轉換符
dynamic_cast
dynamic_cast
支援執行時識別指標或引用所指向的物件。
與其他強制型別轉換不同,
dynamic_cast
涉及執行時型別檢查。
若繫結到指標或引用的物件不是目標型別物件,失敗!若是轉換到指標失敗,則
dynamic_cast
結果是0
值,若是轉換到引用失敗,則丟擲乙個
bad_cast
異常。
const_cast
const_cast
轉換掉表示式的
const
性質。
static_cast
編譯器隱式執行的任何型別轉換都可以由
static_cast
顯示完成。
reinterpret_cast
reinterpret_cast
通常為運算元的位模式提供較低層次的重新解釋。
轉換形式:
cast_type(expression);
eg:const
char* p = "hello";
const_cast
(p);
C 基礎2 表示式
算數運算子與算術表示式 求餘,兩側應為整型資料 兩個整數相除的結果為整數。可以直接定義型別為double或float,或者直接加小數點 基本運算中 有乙個float型,則結果為double型。優先順序與結合性 c 語言規定了運算子的優先順序和結合性。在求解表示式時,先按運算子的優先級別高低次序執行,...
C 正規表示式基礎
正規表示式 可以利用數學演算法解決計算機中的文字檢索和匹配問題 是一種專門用於字串處理的語言 檢索 從字串中獲取我們想要的部分 匹配 判斷給定的字串是否符合正規表示式的過濾邏輯 定位字元 string ss i am blue cat string newstr regex.replace ss,開...
c 基礎 表示式樹
在linq to objects中,擴充套件方法需要將乙個委託型別作為引數,這樣就可以將lambda表示式賦予引數。lambda表示式也可以賦予expression型別的引數。c 編譯器根據型別給lambda表示式定義不同的行為。如果型別是expression,編譯器就從lambda表示式中建立乙個...