上一節介紹了有關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++中遇到的一些較為特殊的運算子。