c++中的每個表示式都有值,即使是賦值表示式
x=
10;
c++將賦值表示式的值定義為左側成員的值,所以可以有
a=
(x=10)+
3;
a的值為13。
賦值運算子是從右向左結合的
通常cout會在顯示bool值之前把他們轉換為int。
判定表示式時會先執行這個表示式
if
(i++
)
這時在判斷i++時,i的值也改變了。這被稱為***。
表示式加分號是語句,而語句去掉分號不一定是表示式。例如宣告語句和返回語句。
每個完整的表示式末尾都是乙個順序點,所有的***將在順序點完成。
字首遞增、字首遞減和解除引用運算子的優先順序相同,以從右到左的方式結合。字尾遞增和字尾遞減的優先順序相同(但比字首運算子的優先順序高),從左到右結合。
double x=
*++p;
//先執行++p,再解除引用
逗號將兩個表示式連線成乙個,被連線得到的表示式被稱作逗號表示式。逗號表示式的值為第二部分的值。
==不能用來判斷字串
somet==
"hello"
;//這實際在比較的是兩個字串的位址,而不是它們的值
要比較兩c風格字串的值,應該使用strcmp()。該函式接受兩個字串位址作為引數,按系統排列順序(ascii碼),若第乙個字串順序前於第二個,返回負數,相等返回0,第乙個字串順序後於第二個,返回正數。
比較string類字串
由於類函式過載(重新定義)了運算子,所以可以直接用==,>=這些運算子進行比較。至少有乙個字串是string類即可,另乙個被比較的字串可以是c風格的。
C 複習之路四 表示式
一 表示式的概念 表示式是由乙個或多個運算物件組成,運算物件之間可以通過運算子連線起來。二 復合表示式 復合表示式是指含有兩個或者多個運算子的表示式。注意 復合表示式進行運算的時候要注意運算子的優先順序。三 算數運算子的優先順序表 算數運算子 左結合律 運算子功能用法 一元正號 一元負號 expr ...
C lambda表示式複習
include include include include using namespace std int main lambda表示式也就是乙個函式,我們可以把它賦給函式指標,也可以在後面加上括號使用。裡面可以新增一些限制lambda塊語句中使用外部變數的限制符。一共有四種情況 1.空白表示不...
正規表示式複習
字元描述 將下乙個字元標記為乙個特殊字元 或乙個原義字元 或乙個 向後引用 或乙個八進位制轉義符。例如,n 匹配字元 n n 匹配乙個換行符。序列 匹配 而 則匹配 匹配輸入字串的開始位置。如果設定了regexp 物件的multiline 屬性,也匹配 n 或 r 之後的位置。匹配輸入字串的結束位置...