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

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

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

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

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

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

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

对象生存周期相关实例

(1)

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

(2)

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

(3)

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

(4)

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

(5)

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


二、代码最高效:

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

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

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

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

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

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

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

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

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

五、对象的生成:

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

     (2)构造成员对象

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

六、

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

七、

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

 


相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-08-13
  • 2022-12-23
猜你喜欢
  • 2021-08-11
  • 2021-10-17
  • 2021-10-19
  • 2022-01-25
  • 2022-01-28
  • 2021-08-28
相关资源
相似解决方案