本文共 1285 字,大约阅读时间需要 4 分钟。
函数调用也是一种特殊的运算符
组合运算符和运算对象
根据运算符的先后顺序,依次进行运算运算对象转换
一般情况下,应是两个类型相同的对象进行运算,但是,有时不需要两个对象相同,只要它们能被转换成相同类型即可重载运算符
已存在的运算符被赋予了另一层含义,即为重载运算符,如string和vrctor和迭代器的运算符左值和右值
括号无视优先级与结合律
系统不知道i和++i的运算顺序导致出错
运算顺序:一元>乘法,除,求余>加,减
算数运算符的运算对象和结果均为右值
逻辑与逻辑或运算符
逻辑非运算符
关系运算符
想联系比较几个值时,切勿以数学方式直接写出
相等性测试与布尔字面值
赋值运算满足左右结合律
赋值运算优先级较低
尽量先考虑语句执行顺序,用括号将想要先执行的语句扩起来
切勿混淆相等运算符(= =)和赋值运算符(=)
复合赋值运算符
一条语句中混用解引用和递增运算符
递增运算符优先级高于解引用
运算对象可按任意顺序求值
尽量避免递增运算符带来的歧义,一般可用()来解决
表示先判断grade是否小于60?如果是,finalgrade=fail,否则finalgrade=pass
嵌套条件运算符
将成绩分为high pass,pass和 fail三个等级在输出表达式中使用条件运算符
由于条件表达式的优先级非常低,使用时尽量运用()
移位运算符
suzeof返回一条表达式或一个类型名字所占的字节数,所得类型为size_t类型
格式:
二者区别:
理解算数转换
数组转化成指针:绝大多数的数组表达式中,数组会转换为指针
指针的转换:常量整数值0和nullptr
转换成布尔类型:
转换成常量:允许非常量指针转换为常量,反之不成立
类型定义转换:
命名强制类型转换
转载地址:http://rfmki.baihongyu.com/