《C++Primer》第四章:表达式

  1. 函数调用也是一种特殊的运算符,是多元运算符,对运算对象的数量没有限制。
  2. 当一个对象被用作左值的时候,使用的是对象的身份(内存位置);当一个对象被用作右值的时候,实际使用的是它的内容。
  3. 对于表达式a=f()+g()*h(),三个函数如果会改变同一对象的状态,那么a的结果是未定义的,因为无法确定g和h的执行顺序。
  4. 对于算数类型,在表达式求值之前,小整数类型的运算对象被提升成为较大的整数类型,所有运算对象最终转换为同一类型,其他的浮点数类型也是尽量以避免丢失精度的原则来进行隐式转换。
  5. m%(-n)等价于m%n(-m)%n等价于-(m%n)
  1. 除非必要,否则使用前置自增或者自减。
  2. sizeof运算符返回一条表达式或者一个类型名字所占的字节数,得到的值是一个size_t类型。比如,对于char,结果是1。sizeof的返回值是一个常量表达式。
  3. 强烈避免使用强制类型转换。
本站总访问量