第五章:表达式

来源:互联网 发布:ubuntu usr local 编辑:程序博客网 时间:2024/04/28 00:30

1.如果求模的结果随分子的符号,则取出来的值向零一侧值,反正向负无穷取值.

2.左移操作符(<<)在右边插入0以补空位.对于右移操作符,如果其操作数是无符号数,则从左边插入0,如果操作叔叔有符号数,则插入符号位的副本或0值,如何选择需依据具体的实现而定.

3.与下标和解引用操作符一样,赋值操作符也返回左值.(if (i = 1)和if(i== 1)的区别

4.自增运算符记住一个例子: i = (i++) + a + b;

5常见的几种与动态内存相关的错误

        1).删除指向动态分配内存的指针失败,因而无法将该内存返还给自由存储区.

        2).读写已删除的对象.如果删除指针指向的对象之后,将指针置为0,则容易检测出此类错误

        3).对同一内存空间使用两次delete表达式.当两个指针指向同一个动态创建的对象时删除就会发生错误. 注意:一旦删除了指针所指向的对象,立即将指针置为0,这样就清楚的表明了指针不再指向任何对象.

5.显式类型转换:

        1).dynamic_cast:支持运行时识别指针或引用所指向的对象

        2).const_cast:将转化掉表达式的const性质 

        3).static_cast:编译器隐式执行的任何类型转换都可以由static_cast显式完成.

        4).reinterpret_cast:通常为操作数的位模式提供较低层次的重新解释

原创粉丝点击