C++中的表达式

基础概念:

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

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

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

  左值和右值

 

算术运算符

    C++中的表达式_第1张图片

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

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

逻辑和关系运算符

  逻辑与和逻辑或运算符

  逻辑非运算符

  关系运算符

赋值运算符

  赋值运算满足右结合律

  赋值运算优先级较低  

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

  复合赋值运算符

 

递增和递减运算符

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

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

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

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

 

位运算符:

  C++中的表达式_第2张图片

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

  位移运算符

  位求反运算符

  位与 位或 位异或运算符

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

   cout<<"hi"<<"there"<

sizeof运算符

  C++中的表达式_第3张图片

  C++中的表达式_第4张图片

   C++中的表达式_第5张图片

  逗号运算符

类型转换

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

算术转换

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

其它隐式转化

  数组转换成指针,,

显式转换

  命名的强制类型转换

  static_cast  const_cast   reinterpret_cast  

附:运算符优先表

  C++中的表达式_第6张图片

  C++中的表达式_第7张图片

 

转载于:https://www.cnblogs.com/xingzhuan/p/10573014.html

你可能感兴趣的:(c/c++)