面向对象基础知识(3)--对象生存周期

来源:互联网 发布:三菱plcq系列编程手册 编辑:程序博客网 时间:2024/05/01 14:08


函数调用点之前要看见函数声明,因为(1)要确定函数参数的类型和个数,实参和形参是否一致

                                                                    (2)要确定函数返回值类型和返回值,看实参形参类型是否一致。

                                                                    (3)根据返回值的类型和大小确定返回方式 

                                                    对于C语言普通变量或结构体变量,小于等于4个字节,通过一个寄存器返回;小于等于8个字节,通过两个寄存器;大于8个字节才产生临时量。   

================================================================================================================================

一、优化规则:用临时对象构造同类型的新对象,不产生临时对象。

返回一个对象(值),一定会产生临时量,但是如果用临时对象构造同类型的新对象,临时对象不产生。

对象生存周期相关实例

(1)

(2)


(3)


(4)


(5)



二、代码最高效:

1.当一个函数返回一个对象时,应该直接返回一个临时对象,不要返回一个已经存在的对象。

2.当接受一个返回对象的函数的返回值时,应该选择初始化的过程,定义的时候直接得到返回值。       

三、实参传递形参,可以用指针指向临时对象

      普通情况,不可以用指针指向临时对象。  eg:Test *p=& test2(20);

      不能返回局部变量或者临时量的指针或引用。

四、1.构造函数的初始化列表==》指定    成员变量的初始化方式

        2.成员变量的初始化顺序,与定义的先后顺序有关,与它们在初始化列表中出现的先后顺序无关

        3.常量必须初始化,常量的初始化必须写在初始化列表中。

        4.引用必须初始化,引用变量的初始化必须写在初始化列表中

五、对象的生成:

     (1)根据对象的类型,分配内存

     (2)构造成员对象

     (3)根据对象定义的方式,调用相应构造函数

六、

当出现引用变量时,编译器产生默认的赋值运算符的重载函数会出错。改变了引用变量的引用。

七、

.*->* 通过函数指针调用成员方法时用到

 


原创粉丝点击