第一天

STL:六大组件 1.容器 2.迭代器:对元素进行访问,是容器更高一层次的抽象。 3.适配器:限制,容器适配器,迭代器适配器,函数适配器 4.算法: 5.函数对象 6.分配器 : STL内存如何分配? 二级配置器,一级配置器:分配的内存大于128kb,malloc/free 二级配装器:内存池+16个自由链表,解决多次malloc产生的小内存。

what,how, why:思维方式

STL:对批量数据管理 智能指针:对单个对象 有独享所有权的unique_ptr,有共享所有权的shared_ptr、有弱应用的weak_ptr 原理是RAII技术,栈对象的生命周期。

C++基础特征:四种,抽象、封装、继承、多态 是语言层面的,是形式化的表达方式, 头+实现文件 、 语法简洁 C++本质特征:消息的传递,编程实现。

OOD:面向对象设计 OOP:面向对象编程

std::string底层实现 三种形式:深拷贝、写时复制、sso faceback的 fbstring: 小于15个字节 深拷贝 小于225个字节 sso 大于225 写时复制(不确定)

重载、隐藏、覆盖: 1.同一个类、同名、参数类型不同 2.函数名相同 、 父类 子类、对象调用 3.虚函数

OOD:理论指导实践 函数类型:返回类型(参数1,。。。) 函数容器: function

UML:十种图例 常用:类图 静态 序列图 动态 类与类之间的关系: 5种 1.继承 A is B 2.关联 双向 单向 3.聚合 * & A has B 4.组合 对象 A has B 5.依赖 成员函数参数 A use B

组合+依赖 可以替代 继承

OOD设计原则:低耦合、高内聚 5大原则 + 2大法则 SOLID: S:单一职责原则 一个类,最好只做一件事 软件实体 (函数、类、模板等) 画图 : 面积 GL 通过继承 分离 这个类 O:开闭原则 对拓展开放、对修改闭合 抽象编程 virtual 计算机实现 L:里氏替换原则 派生类能够替换基类 继承复用 派生类能拓展基类的功能 不修改基类的功能 商户促销 不覆盖基类的非抽象方法 I:接口分离原则 接口内聚,小接口、不要胖接口 鸟、鸵鸟 鸟 泛化 会飞 的鸟

接口: 服务,功能 普通函数、自由函数 类的成员函数(public) 虚函数 纯虚函数

D:依赖倒置原则 依赖抽象 ,面向接口编程 银行柜员 存款 支付 等业务 抽象出来

迪米特原则: 一个实体尽可能少地与其他实体产生联系 中介 找房

组合复用原则: 用组合、聚合代替继承 hei 白 低 高 动 静 人 车 人 使用 车

QT:skype 、 wps office、adobe、virtualBox、opera

JSRUN前端笔记, 是针对前端工程师开放的一个笔记分享平台,是前端工程师记录重点、分享经验的一个笔记本。JSRUN前端采用的 MarkDown 语法 (极客专用语法), 这里属于IT工程师。