1.优先级问题(摘自c++primer)

       

[c/c++]表达式

(1)任何一个逻辑运算符的优先级低于任何一个关系运算符

        (2)移位运算符的优先级比算术运算符低,但是比关系运算符高。

 

2. 后置递增(递减)运算符优先级比解引用运算符优先级高;

        int i[10]={0},*p=i;

        *p++;//表示*(p++)

 

3.递增(++)和递减(--)运算符

         除非必须,尽量不使用后置版本的递增和递减运算符。由于后置版本需要返回一个未修改前的数据,影响程序性能上。

 

4.位运算

         在进行位运算时,没有规定如何处理符号位,因此尽量不要对有符号类型在进行位运算。

         区分:位求反(~),逻辑非(!)

5.sizeof运算结果(摘自c++ primer)

    (1)对char或者类型为char的表达式执行sizeof运算,结果为1.

    (2)对引用类型执行sizeof返回得到被引用对象占用的空间大小

    (3)对指针执行sizeof运算得到指针所占用的空间大小

    (4)对解引用指针执行sizeof运算得到指针所指向对象所占空间的大小,指针不需要有效

    (5)对数组执行sizeof运算得到整个数组占用空间的大小

    (6)对string对象和vector对象执行sizeof运算只返回该类型固定部分的大小,不计算对象中元素占用的空间

相关文章:

  • 2022-02-28
  • 2021-08-27
  • 2021-06-13
  • 2022-12-23
  • 2021-04-16
  • 2021-12-22
  • 2021-12-16
猜你喜欢
  • 2022-12-23
  • 2021-08-17
  • 2022-01-02
  • 2021-11-21
  • 2021-06-21
  • 2022-12-23
相关资源
相似解决方案