5.8  sizeof操作符

    问题:引用类型是指什么?

    笔记:对数组进行sizeof操作,所得为其存储空间大小。return=数组类型*elements。

5.9  逗号操作符

    笔记:前自增(自减)、后自增(自减)的使用。先自增,后运算和先运算,后自增。

5.10  复合表达式求值

    笔记:(1)++优先级高于*操作符。

             (2)!=优先级高于=。

             (3)如果不确定操作符的顺序,那么建议使用括号进行强制。

             (4)如果需要在同一条语句修改变量并再次使用,最好分割为两条独立语句:

                    在一个语句改变其值,下一语句使用。

                    例如:val++&&val应该写成:(val)&&(val+1)

5.11  动态创建与删除

    笔记:(1)关联习题5.18 string *ptr=new string;

             (2)定义指针,变量,创建数组,动态创建对象等等,

                    给它们初始化应该是个好主意。

             (3)初始化方式: int *pi = new int;和 int *pi = new int()是不一样的,

                     前者没有进行初始化,后者初始化为0。

             (4)delete 指针后,该指针变成悬垂指针,它指向曾经存放对象的内存,但该对象已经不存在。

                    若导致错误则很难检查出,因此应在删除指针后将该指针置为0 ;

             (5)删除动态分配内存的指针失败容易造成内存泄漏。对同一内存进行两次delete操作会破坏这块内存。

             (6)const 对象的值不可修改的,但可以删除该对象。

5.12  类型转换

    笔记:(1)赋值操作中,左操作数类型占主导地位。若两边类型不一致,右操作数会被转换为左操作数类型。

             (2)用作条件的表达式->bool类型:?: 、!、&&、||、if、while、for、do while。

             (3)转换要确保精度,若一数类型为long double,则不管另一数为何种类型,都会被转换为long double。

             (4)强制类型转换非常危险,尽量避免使用。

posted on 2012-07-10 16:29  fengluo  阅读(106)  评论(0编辑  收藏  举报