D5.13

实现代码功能的复用性:

函数重载:函数版本比较多,后期维护很麻烦;导致代码体系过于庞大;

宏函数:不安全,不做类型检查,只做傻瓜式替换;不适合实现过于复杂的函数;

模板:解决了函数重载版本过多的问题,同时也解决了宏函数不安全及不适应实现复杂函数的问题;

return a>b?a:b;//三目运算符:返回的是最终最大的数

模板会被编译两次:1、实例化模板之前

2、实例化模板之后
嵌入式面向对象程序开发(11)

类模板会实例化两次:1、将类模板实例化成模板类;2、通过模板类实例化对象;
嵌入式面向对象程序开发(11)

成员函数模板:使成员函数不要受类的模板参数限制,可以处理不同类型的参数。
在这里插入图片描述
嵌入式面向对象程序开发(11)
嵌入式面向对象程序开发(11)
嵌入式面向对象程序开发(11)
嵌入式面向对象程序开发(11)
嵌入式面向对象程序开发(11)
嵌入式面向对象程序开发(11)
嵌入式面向对象程序开发(11)
嵌入式面向对象程序开发(11)
嵌入式面向对象程序开发(11)
嵌入式面向对象程序开发(11)

模板特化的作用:处理一些模板处理不了或者处理不好的数据类型,需要把这些类型特例化;

类的全特化:全部类型参数的直接指定

嵌入式面向对象程序开发(11)
嵌入式面向对象程序开发(11)
嵌入式面向对象程序开发(11)
嵌入式面向对象程序开发(11)
嵌入式面向对象程序开发(11)

内存管理方式:

1、用户管理:手动malloc/free new/delete c/c++ /

2、系统管理:GC(垃圾回收)机制(杜绝了内存泄漏) java

//僵尸进程、孤儿进程【守护进程、前台进程、后台进程】–init 1

//线程状态:可结合态(join),可分离态(用户)

改变栈空间大小
| 嵌入式面向对象程序开发(11)
嵌入式面向对象程序开发(11)
嵌入式面向对象程序开发(11)
嵌入式面向对象程序开发(11)
嵌入式面向对象程序开发(11)

初始化:调用类型转换构造函数

智能指针常用于指向堆空间,指向栈空间时,会导致释放两次空间或者对象;
嵌入式面向对象程序开发(11)
嵌入式面向对象程序开发(11)
嵌入式面向对象程序开发(11)

相关文章:

  • 2022-12-23
  • 2022-01-04
  • 2021-06-06
  • 2021-10-20
  • 2022-02-26
  • 2021-11-02
  • 2021-06-02
  • 2022-01-14
猜你喜欢
  • 2021-06-20
  • 2021-05-07
  • 2021-12-24
  • 2022-01-18
  • 2021-06-14
  • 2021-08-10
  • 2021-07-11
相关资源
相似解决方案