上一節介紹了有關C++中的位運算符,這一節繼續學習一下C++中的其它運算符。以加深對各種運算符的理解。
1.++自增、- - 自減
此運算符可分為前置和後置兩種形式。所謂前置,就是運算符在操作數的前面,後置就是指運算符在操作數的後面。在這裡,二者還是有很大的不同的。強調:後置運算符的優先級高於前置運算符
例如:i++; //後置
- -j; //前置
規則:在進行運算時,前置是先變化後運算,後置是先運算後變化。
例如:前置形式
int i=5 ; x=++i; y=i // i 要先增值後付給x,即先變化,後運算(i=6 ,x=6 ,y=6)
int i=5 ;++i; x=y=i //(i=6, y=6 ,x=6)
後置形式
int i=5; x=i++ ; y=i ; // i 先賦值給x,再加1
2、條件運算符
形式:d1?d2:d3 ,C++中唯一一個三目運算符
規則:1.先計算d1
2.如果d1的值為true,返回d2的值作為結果
3.如果d1為false,返回d3的值作為結果
3、逗號運算符
形式:表達式1,表達式2,表達式3...
規則:先求表達式1的值,再求表達式2的值,以此類推,整個逗號表達式結果的值是最後一個表達式的值
4.求字節運算符
形式:sizeof(類型說明符|變量名|常量)
規則:求操作數占用內存大小,由操作數類型決定。
5.成員運算符
C++語言中提供了指明數組元素、結構及聯合成員的運算符。
例如:下標運算符 [ ]‘、通過指針結構或聯合體成員運算符 -->
6、取地址運算符
形式:& 變量名
規則;即用來獲取某個變量的內存單元地址值。
例如:& a 表示變量a的地址值,通常可作用在各種變量名前,如數組元素名、結構變量等。不能作用在常量、非左值表達式之前,因其二表達式是沒有內存地址的。
7、取指針內容運算符
形式: * int a=5 ; int * p=& a // 變量a標識的內存單元中存放的值為5,指針變量p指向變量a,將該運算符作用於p(即* p),最後*p的結果為5
以上是我在學習C++中遇到的一些較為特殊的運算符。