面向对象基础知识(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)根据对象定义的方式,调用相应构造函数
六、
当出现引用变量时,编译器产生默认的赋值运算符的重载函数会出错。改变了引用变量的引用。
七、
.*和->* 通过函数指针调用成员方法时用到
- 面向对象基础知识(3)--对象生存周期
- 类 对象生存周期
- C++——面向对象(三)——各种对象的生存周期
- C++中对象生存周期
- C++对象的生存周期
- 类对象的生存周期
- 对象的生存周期对比
- C++对象的生存周期
- 对象的生存周期探究
- 类对象的生存周期
- 类对象的生存周期
- JAVA基础语法、面向对象、了解java对象的生存周期(Object、修饰符、数组、枚举、接口、抽象类)
- 单元线程对象的生存周期
- 单元线程对象的生存周期
- [C++]C++对象的生存周期
- CLR和.Net对象生存周期
- 类和对象的生存周期
- c++类对象的生存周期
- Mysql中的CONCAT、GROUP_CONCAT使用示例
- CSS弹性盒子模型Flex
- 图片读取格式
- JS小知识
- 解决火狐兼容性问题
- 面向对象基础知识(3)--对象生存周期
- 伪元素使用
- Git基本操作(二)
- 360发“神秘微博”,要涉足汽车制造了?
- matlab2c使用c++实现matlab函数系列教程-pascal函数
- C++程序编译过程详解(转)
- 【大数据部落】 17年房贷市场数据调研报告
- BZOJ 1008 组合数学 解题报告
- 2017 Multi-University Training Contest 10 && HDU 6178 Monkeys 【贪心||树形DP】