![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++课程
louyijie
这个作者很懒,什么都没留下…
展开
-
苏嵌 17.2.28
多态: 多态的体现:①函数重载 ②运算符重载 ③模板 ④虚函数 静态绑定(静态联编):函数重载 运算符重载 模板 动态绑定(动态联编):虚函数 什么是多态? 同一个实现接口传递不同实例实现不同的操作 虚函数:基类中加virtual 基类指针指向派生类对象时触发多态 ①需要在基类中定义共同的原创 2017-03-01 15:47:21 · 305 阅读 · 0 评论 -
苏嵌 17.03.27
设计模式: 多态:函数重载、运算符重载、模板、虚函数(动态多态) ①创建型模式 解决对象的创建 ②结构型模式 解决类的功能的增加 ③行为型模式 解决类和类之间的关系 ★单例模式:保证一个类仅有一个实例 代理模式、装饰者模式、适配器模式 观察者模式、策略模式(购物软件、金融软件)、模板模式 开闭原则:对扩展开放,对修改关闭 接口隔离原则:不能原创 2017-04-05 13:28:38 · 239 阅读 · 0 评论 -
如何实现内存分配器?
内存分配器(Memory Allocator)负责内存管理,实现动态内存的分配和释放。内存分配器分为两级。第一级分配器直接调用C函数分配内存,第二级分配器则采用内存池来管理内存。如果申请的内存块足够大,那么启动第一级分配器,否则启动第二级分配器。这种设计的优点是可以快速分配和释放小块内存,同时避免内存碎片;缺点是内存池的生命周期比较长,并且很难显式释放。 一些平台对某些特定类型的数据只能从某转载 2017-04-05 12:58:33 · 1118 阅读 · 0 评论 -
苏嵌 17.03.26
函数对象: 作用:给函数传参 一元函数对象:函数参数1个 二元函数对象:函数参数2个 一元谓词:函数参数1个,函数返回值为bool 二元谓词:函数参数2个,函数返回值为bool accumulate() 组合所有元素作加、减、乘、除等 迭代器->指针的泛化(将指针写成模板类) 流迭代器: ①输入迭代器 读,不能写 ②输出迭代器 写,不能读 ③前原创 2017-04-05 12:56:18 · 194 阅读 · 0 评论 -
苏嵌 17.03.20
vector: 优:不确定内存大小的数组的连续存储,可以像数组进行动态操作 随机访问方便,即支持[ ]操作符和vector.at() 节省空间 缺:在内部进行插入删除操作效率低 只能在vector的最后进行push和pop不能在vector的头进行push和pop 当动态添加的数据超过vector默认分配的大小时要进行整体的重新分配、拷贝和释放 list: 优:不使用连续内原创 2017-03-24 19:23:38 · 230 阅读 · 0 评论 -
苏嵌 17.03.19
序列式容器: vector 单端 deque 双端 list 双向循环链表 ---------与插入时机相关 关联式容器:set 红黑树 map 平衡二叉树 ------与插入时机无关 ①容器里保存的是值 不是引用 ②容器里的元素是有次序的 ③容器的所有操作并非绝对安全,需对传递参数做检查 序列式容器元素的默认构造函数必须可用原创 2017-03-24 15:10:26 · 241 阅读 · 0 评论 -
苏嵌 17.03.06
数据I/O:①标准I/O ②文件I/O ③串I/O 输入: get()获取一个字符 getline()获取一行 read(array,len)读 peek()只检查不抽取 输出: write() dec十进制 hex十六进制 oct八进制 输入:读文件 往缓冲区输入 输出:写文件 往文件输出 seekp:写 seekg:读 beg开始 cur当前原创 2017-03-07 15:41:36 · 243 阅读 · 0 评论 -
苏嵌 17.03.05
异常机制: //terminate-->abort(); 终止进程 ↓ set_terminate(Myterminate); //terminate-->Myterminate-->abort(); 终止进程 catch(...) { cout } throw: ①throw可以抛内置类型异常也可以抛自定义类型异常 ②th原创 2017-03-06 14:52:09 · 223 阅读 · 0 评论 -
苏嵌 17.03.07
使用指针时:函数模板的特例化 加上头文件#include template const char * const& max(const char * const& a,const char * const& b) { return strcmp(a,b) > 0 ? a : b; } 模板和自定义函数同时存在时,系统优先调用自定义函数 模板也可重载: templ原创 2017-03-08 15:32:43 · 241 阅读 · 0 评论 -
苏嵌 补17.02.27
继承: 基类(父类) 派生类(子类) 派生类是基类的具体化 用法:class 派生类名 :基类名 继承的三种方法:公有 私有 保护 默认继承: struct D1:Base{}; //公有继承(结构体也可以继承) class D2:Base{}; //私有继承 派生类无法访问基类的构造函数 派生类中的所有的构造方法都需原创 2017-03-01 19:58:54 · 240 阅读 · 0 评论 -
苏嵌 17.03.28
boost库 线程安全 运行效率高 简单工厂+工厂+反射机制(对象的动态创建) 作用: 简单工厂模式:解决具体类的功能耦合度 工厂模式:解决简单工厂类的功能耦合度 抽象工厂模式:解决工厂模式的功能耦合度 区别: 简单工厂:用来生产同一等级结构中的任意产品(对于增加新的产品,无能为力) 工厂方法:用来生产同一等级结构中的固定产品(支持增加任意产品) 抽象工厂原创 2017-04-06 14:19:07 · 271 阅读 · 0 评论