上一节介绍了有关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++中遇到的一些较为特殊的运算符。