C++中的表达式


基础概念:

  组合运算符和运算对象(优先级与结合律)

  运算对象转换(类型转换)

  运算符重载(<<  >>之类)

  左值和右值

 

算术运算符

    

  一元负号对布尔值的运算不起作用

  提示:注意溢出和其它算术运算异常

逻辑和关系运算符

  逻辑与和逻辑或运算符

  逻辑非运算符

  关系运算符

赋值运算符

  赋值运算满足右结合律

  赋值运算优先级较低  

  注意:切勿混淆相等运算符和相等运算符

  复合赋值运算符

 

递增和递减运算符

  建议:除非必须,否则不建议使用递增递减运算符后置版本。

  *p++ = *(p++) //简洁可以成为一种美德

成员访问运算符(.和->)

    条件运算符  A>B ? A : B;类似这种

 

位运算符:

  

  建议仅将位运算符用于处理无符号类型。

  位移运算符

  位求反运算符

  位与 位或 位异或运算符

  移位运算符(又叫IO运算符) 满足左结合律

   cout<<"hi"<<"there"<<endl;

sizeof运算符

  

  

   

  逗号运算符

类型转换

  隐式转换  例如:int ival = 3.14 + 3;

算术转换

  整型提升(其实就是超出范围了把自动类型扩大)

其它隐式转化

  数组转换成指针,,

显式转换

  命名的强制类型转换

  static_cast  const_cast   reinterpret_cast  

附:运算符优先表

  

  

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM