摘要: 面向对象编程和GP泛型编程 c++标准库 标准库并不是用面向对象的概念设计出来的 面向对象的概念关键点: class与class的继承关系 虚函数 -> 抽象class或者接口 面向对象库复杂的点在于继承关系很复杂 OOP(Object-Oriented programming) 关键概念: cla 阅读全文
posted @ 2024-04-26 11:39 俊king 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 容器使用之Array 使用 c++当中容器都被定义在以容器为名的头文件当中 使用时需要引入头文件 关键点: 因为容器都有一个适配器去分配内存.所以声明array的时候要告诉编译器 array放置的数据类型 array的大小 示例代码: #pragma#ifndef __ARRAY__#define 阅读全文
posted @ 2024-04-25 20:21 俊king 阅读(18) 评论(0) 推荐(0) 编辑
摘要: 容器使用之multiset 可以理解为小型关联数据库 底层结构: 红黑树 示例代码: #pragma#ifndef __MULTISET__#define __MMULTISE__​#include <set>#include <iostream>​using namespace std;​name 阅读全文
posted @ 2024-04-22 22:30 俊king 阅读(12) 评论(0) 推荐(0) 编辑
摘要: 容器结构分类 容器在内存的布局方式 红黑树 高度平衡二分树,树的左边和右边会自己调整高度,避免查找的时候找到某一种很长的线一直找下去 set和map都有红黑树实现 HashTable链表过长 链表的查找要一个一个查找.链表过程会导致速度过慢 设置每一个链表不能过长 如果过长就会通过算法打散 阅读全文
posted @ 2024-04-22 22:29 俊king 阅读(2) 评论(0) 推荐(0) 编辑
摘要: C++ Standard Library architecure & sources c++官网 C标准库 -> 一个一个单一的函数function -> 彼此几乎无关联 c++标准库 -> 六个部分 -> 彼此之间有紧密的关联 c++标准库主要是用模板做出来的 泛型编程(Generic Progr 阅读全文
posted @ 2024-04-22 22:28 俊king 阅读(16) 评论(0) 推荐(0) 编辑
摘要: 重载全局的new和delete ::operator new ::operator new[] -> 不可以被声明与同一个namespace之内 new会执行三个动作: -> 之前的代码提到: new本身会开辟内存空间.所以声明方法需要一个size_t size的参数 inline void* op 阅读全文
posted @ 2024-04-16 22:35 俊king 阅读(75) 评论(0) 推荐(0) 编辑
摘要: vptr和vtbl(虚指针和虚函数表) c++代码的抽象类是 -> 类当中只包含纯虚函数 当一个类有虚函数,即便类当中没有成员变量.他的对象大小也会有一根指针大小 -> 由操作系统决定指针多大 虚函数 子类的对象里面有父类的成分 示例结构代码: #pragma#ifndef __VPTR_AND_V 阅读全文
posted @ 2024-04-16 22:34 俊king 阅读(32) 评论(0) 推荐(0) 编辑
摘要: const在类和函数之间的运用 第一种情况简单来说就是如果声明了一个const类但是调用了非const的方法.那么编译会不通过 -> const类只能调用const方法,非const类就都可以调用 示例代码: 宏定义: #pragma#ifndef __CONST_OBJECT__#define _ 阅读全文
posted @ 2024-04-15 18:05 俊king 阅读(16) 评论(0) 推荐(0) 编辑
摘要: 对象模型 - this 通过一个对象来调用一个函数,那么对象的地址就是this 虚函数的模板方法使用方式 template method 示例代码: #pragma#ifndef __THIS_TEMPLATE_MODEL__#define __THIS_TEMPLATE_MODEL__​class 阅读全文
posted @ 2024-04-15 18:04 俊king 阅读(3) 评论(0) 推荐(0) 编辑
摘要: Reference 三种变量 值 -> value 指针 -> pointer 引用 -> reference &取址符 示例代码: #include <iostream>​using namespace std;​int main() { int x = 0; int* p = &x; // in 阅读全文
posted @ 2024-04-15 18:04 俊king 阅读(52) 评论(0) 推荐(0) 编辑