
C plus plus
文章平均质量分 95
三分苦
hello world
展开
-
【 C++ 】空间配置器
目录1、什么是空间配置器2、为什么需要空间配置器3、SGI-SGL空间配置器实现原理3.1、一级空间配置器3.2、二级空间配置器内存池SGI-STL中二级空间配置器设计SGI-STL二级空间配置器之空间申请SGI-STL二级空间配置器之空间回收3.3、空间配置器的默认选择3.4、空间配置器的再次封原创 2022-11-27 16:25:02 · 549 阅读 · 1 评论 -
【 C++ 】IO流
目录1、C语言的输入输出2、流是什么3、C++IO流3.1、C++标准IO流3.2、C++文件IO流文件操作步骤以二进制的形式操作文件以文本的形式操作文件4、stringstream的介绍原创 2022-11-24 11:37:15 · 752 阅读 · 1 评论 -
【 C++ 】特殊类设计
目录1、请设计一个类,不能被拷贝2、请设计一个类,不能被继承3、请设计一个类,只能在堆上创建对象4、请设计一个类,只能在栈上创建对象5、请设计一个类,只能创建一个对象(单例模式)饿汉模式懒汉模式原创 2022-11-19 16:09:12 · 749 阅读 · 0 评论 -
C++的四种强制类型转换
目录1、C语言中的类型转换2、为什么C++需要四种类型转换3、C++强制类型转换static_castreinterpret_castconst_castdynamic_cast4、RTTI(了解)5、常见面试题原创 2022-11-12 17:45:39 · 10980 阅读 · 2 评论 -
【 C++ 】智能指针
目录1、内存泄漏什么是内存泄漏,内存泄漏的危害内存泄漏分类如何检测内存泄漏(了解)如何避免内存泄漏2、为什么需要智能指针智能指针的使用及原理RAII(智能指针指导思想)智能指针的浅拷贝问题3、C++库里的智能指针3.1、std::auto_ptr(不推荐)3.2、std::unique_ptr3.3原创 2022-11-11 23:49:17 · 1523 阅读 · 0 评论 -
【 C++ 】异常
目录1、C语言传统的处理错误的方式2、C++异常概念3、异常的使用异常的抛出和捕获异常的重新抛出异常安全异常规范4、C++标准库的异常体系5、自定义异常体系6、异常的优缺点原创 2022-11-02 23:41:23 · 613 阅读 · 0 评论 -
【 C++11 】包装器
目录1、function包装器function包装器的引入function包装器的概念使用function包装器优化逆波兰表达式求值使用function包装器解决模板效率地下,实例化多份的问题function包装器的意义2、bind包装器bind包装器的引入bind包装器的概念bind包装器绑定调整参数个数bind包装器绑原创 2022-10-26 23:22:11 · 882 阅读 · 2 评论 -
【 C++11 】lambda表达式
目录1、lambda表达式的引入2、lambda表达式lambda表达式的语法lambda表达式捕捉列表说明使用lambda表达式排序自定义类型lambda表达式的底层原理原创 2022-10-23 11:28:22 · 3212 阅读 · 3 评论 -
【 C++11 】可变参数模板
目录1、可变参数模板的概念2、参数包的展开方式递归函数方式展开参数包逗号表达式展开参数包3、STL容器中的empalce相关接口函数原创 2022-10-15 20:42:46 · 3750 阅读 · 2 评论 -
【 C++11 】类的新功能
目录1、准备条件2、默认成员函数3、类成员变量初始化4、强制生成默认函数的关键字default5、禁止生成默认函数的关键字delete6、继承和多态中的final与override关键字原创 2022-10-15 10:54:12 · 807 阅读 · 0 评论 -
【 C++11 】右值引用和移动语义
目录1、基本概念左值 vs 左值引用右值 vs 右值引用左值引用 vs 右值引用2、右值引用使用场景和意义左值引用的使用场景左值引用的短板右值引用和移动语义①、移动构造②、移动赋值③、编译器做的优化④、总结右值引用引用左值右值引用的原创 2022-10-09 23:44:26 · 1559 阅读 · 0 评论 -
【 C++11 】列表初始化、声明、范围for、STL中一些变化
目录1、C++11简介2、统一的列表初始化{ }初始化initializer_list容器3、声明autodecltypenullptr4、范围for5、STL中一些变化原创 2022-10-08 15:04:09 · 953 阅读 · 2 评论 -
海量数据面试题
目录1、哈希切割2、位图应用给定100亿个整数,设计算法找到只出现一次的整数求两个文件交集在100亿个整数中找到出现次数不超过2次的所有整数3、布隆过滤器求两文件交集(近似算法)求两文件交集(精确算法)计数法使布隆过滤器支持删除原创 2022-10-06 23:55:53 · 714 阅读 · 1 评论 -
【 C++ 】哈希的应用(2)布隆过滤器
目录1、布隆过滤器的概念与性质布隆过滤器的引出布隆过滤器的概念布隆过滤器的误判布隆过滤器的应用场景布隆过滤器优缺点如何选择哈希函数个数和布隆过滤器长度2、布隆过滤器的实现框架布隆过滤器的Set插入布隆过滤器的Test查找布隆过滤器的删除3、布隆过滤器的实现源码链接原创 2022-10-06 00:25:48 · 846 阅读 · 0 评论 -
【 C++ 】哈希的应用(1)bitset位图
目录1、bitset的介绍位图的引入位图的概念位图的应用2、bitset的使用bitset的构造方式bitset成员函数的使用bitset运算符的使用原创 2022-10-03 21:39:42 · 726 阅读 · 0 评论 -
【 C++ 】bitset位图的模拟实现
目录1、框架2、成员函数构造函数setresettestflipcountsizenone any all3、bitset源码链接原创 2022-10-03 21:44:02 · 947 阅读 · 1 评论 -
【 C++ 】用一个哈希表封装unordered_map和unordered_set
目录1、哈希表源代码2、哈希函数模板参数的控制3、对上层容器构建仿函数便于后续映射4、部分类型无法取模问题5、哈希表底层迭代器的实现框架++运算符重载!= 和 == 运算符重载* 和 -> 运算符重载6、哈希表的迭代器相关函数(begin和end)7、哈希表的优化(素数表)8、unordered_map的插入和[ ]运算符重载9、封装后源代码哈希表源代码链接原创 2022-10-01 17:45:08 · 1124 阅读 · 0 评论 -
【 C++ 】开散列哈希桶的模拟实现
目录1、框架2、构建仿函数把数据类型转为整型并特化3、哈希桶的插入4、哈希桶的查找5、哈希桶的删除6、源码链接原创 2022-09-24 16:08:08 · 816 阅读 · 0 评论 -
【 C++ 】闭散列哈希表的模拟实现
目录1、框架2、哈希节点状态的类3、哈希表的扩容4、构建仿函数把所有数据类型转换为整型并特化5、哈希表的插入6、哈希表的查找7、哈希表的删除8、源码链接原创 2022-09-24 16:02:51 · 885 阅读 · 0 评论 -
【 C++ 】哈希表底层结构剖析
目录1、unordered系列底层结构2、哈希概念3、哈希冲突4、哈希函数(直接定址 + 除留余数)5、哈希冲突解决闭散列(线性探测 + 二次探测)开散列原创 2022-09-24 15:55:49 · 2077 阅读 · 2 评论 -
【 C++ 】unordered_map和unordered_set的介绍和使用
目录1、unordered系列关联式容器2、unordered_mapunordered_map的介绍unordered_map的构造方式unordered_map的函数接口说明 unordered_multimap3、unordered_setunordered_set的介绍unordered_set的构造方式unordered_set的函数接口说明原创 2022-09-10 16:39:34 · 7387 阅读 · 0 评论 -
【 C++ 】用一颗红黑树封装map和set
目录1、前言2、红黑树模板参数的控制3、模板参数中仿函数的增加4、红黑树迭代器的实现5、红黑树的begin()和end()6、红黑树的Find查找函数7、红黑树源码链接8、set的代码9、map的代码原创 2022-09-04 20:43:06 · 559 阅读 · 0 评论 -
【 C++ 】红黑树
目录1、红黑树的概念2、红黑树的性质3、红黑树节点的定义4、红黑树结构5、红黑树的插入操作6、红黑树的验证7、红黑树的删除8、红黑树与AVL树的比较9、红黑树的应用10、源码链接...原创 2022-09-04 20:38:55 · 1166 阅读 · 3 评论 -
【 C++ 】AVL树
目录1、底层结构2、AVL树的概念3、AVL树节点的定义4、基本框架5、AVL树的插入6、AVL树的旋转左单旋右单旋左右双旋右左双旋7、AVL树的验证8、AVL树的查找9、AVL树的删除(了解)10、AVL树的性能11、源码链接.........原创 2022-09-04 20:37:20 · 1392 阅读 · 0 评论 -
【 C++ 】map、multimap的介绍和使用
目录1、mapmap的介绍map的定义insert插入函数map的迭代器[ ]运算符重载find查找函数erase删除函数其它函数总结2、multimapmultimap的介绍multimap的使用...原创 2022-09-04 20:35:48 · 2300 阅读 · 0 评论 -
【 C++ 】set、multiset的介绍和使用
目录1、关联式容器2、键值对3、树形结构的关联式容器4、setset的介绍set的定义set的使用5、multisetmultiset的介绍multiset的使用...原创 2022-09-04 20:34:47 · 3004 阅读 · 0 评论 -
【 C++ 】二叉搜索树
目录1、二叉搜索树的概念2、二叉搜索树的实现①、结点类②、二叉搜索树的类 2.1、默认成员函数 构造函数拷贝构造函数赋值运算符重载函数析构函数 2.2、中序遍历 2.3、Insert插入函数............原创 2022-09-03 15:56:40 · 1499 阅读 · 0 评论 -
【 C++ 】多态
目录1、多态的概念2、多态的定义及实现2.1、多态的构成条件2.2、虚函数2.3、虚函数的重写 虚函数重写的两个例外2.4、C++11 override和final2.5、重载、覆盖(重写)、隐藏(重定义)的对比3、抽象类概念接口继承和实现继承4、多态的原理虚函数表多态的原理...原创 2022-09-03 15:50:24 · 1080 阅读 · 1 评论 -
【 C++ 】继承
目录1、继承的概念及定义1.1、继承的概念1.2、继承的定义定义格式继承关系和访问限定符继承基类成员访问方式的变化2、基类和派生类对象赋值转换3、继承中的作用域4、派生类的默认成员函数5、继承和友元6、继承与静态成员7、继承的方式7.1、菱形虚拟继承7.2、菱形虚拟继承的原理8、继承的总结.........原创 2022-08-31 16:32:59 · 1164 阅读 · 0 评论 -
【 C++ 】函数模板进阶
目录1、非类型模板参数2、模板的特化2.1、概念2.2、函数模板特化2.3、类模板特化 全特化 偏特化 类模板特化示例3、总结...原创 2022-08-28 14:50:47 · 479 阅读 · 0 评论 -
【 C++ 】list的模拟实现
目录1、list三个基本模板类2、结点类接口实现基本框架构造函数3、迭代器类接口实现3.1、正向迭代器基本框架默认成员函数构造函数* 运算符重载->运算符重载++运算符重载--运算符重载...原创 2022-08-21 09:09:04 · 663 阅读 · 33 评论 -
【 C++ 】stack、queue、优先级队列、仿函数、容器适配器
目录1、stack的介绍和使用stack的介绍stack的使用stack的模拟实现2、queue的介绍和使用queue的介绍queue的使用queue的模拟实现3、priority_queue的介绍和使用priority_queue的介绍priority_queue的使用仿函数堆的向上调整算法...原创 2022-08-24 01:10:03 · 484 阅读 · 16 评论 -
【 C++ 】list的常用接口说明
目录1、list的介绍2、list的使用2.1、list的构造2.2、迭代器的使用begin和endrbegin和rend范围for2.3、list元素获取front和back2.4、list的大小 emptysize2....原创 2022-08-16 00:09:17 · 949 阅读 · 27 评论 -
【 C++ 】vector的模拟实现
目录1、基本成员变量2、默认成员函数构造函数析构函数拷贝构造函数赋值运算符重载函数3、容器访问相关函数接口operator[ ]运算符重载迭代器范围for4、vector空间增长问题size和capacityreserve扩容resizeswap交换数据5、增加的相关函数......原创 2022-08-08 09:05:06 · 680 阅读 · 25 评论 -
【 C++ 】vector迭代器失效与深浅拷贝问题
目录1、vector迭代器失效问题 1.1、insert迭代器失效 扩容导致野指针 意义变了 官方库winsows下VS和Linux下对insert迭代器失效的处理 1.2、erase迭代器失效 官方库windows下VS和Linux下对erase迭代器失效的处理 1.3、迭代器失效总结2、深浅拷贝问题......原创 2022-08-13 23:46:21 · 1010 阅读 · 25 评论 -
【 C++ 】vector的常用接口说明
目录1、vector介绍2、vector的使用2.1、vector的定义 2.2、vector的遍历 operator[ ] 迭代器 范围for 2.3、vector的空间增长问题 size和capacity max_size reserve ...原创 2022-08-03 22:02:19 · 1780 阅读 · 34 评论 -
【 C++ 】string类的模拟实现
1、基本成员变量2、默认成员函数构造函数析构函数拷贝构造函数(深拷贝)赋值运算符重载(深拷贝)3、容量与大小相关函数sizecapacity4、字符串访问相关函数operator[ ]重载迭代器5、增加的相关函数接口reserve扩容resizepush_back追加字符......原创 2022-07-27 10:09:23 · 695 阅读 · 31 评论 -
【 C++ 】string类的常用接口说明
1、string类的基础知识2、string类的常用接口说明2.1、string类的成员函数 constructor(构造函数) destructor(析构函数) operator=(赋值) string类对象的容量操作 迭代器 string类的元素访问 ......原创 2022-07-19 14:49:55 · 2811 阅读 · 33 评论 -
【 C++ 】模板初阶 —— 函数模板、类模板
目录1、泛型编程2、函数模板函数模板概念函数模板格式函数模板的原理函数模板的实例化模板参数的匹配原则3、类模板类模板的定义格式类模板的实例化4、补充函数模板一定是推演?类模板一定是指定?模板的分离编译...原创 2022-07-01 11:16:15 · 1350 阅读 · 46 评论 -
C++类和对象经典oj
1、求1+2+3+...+n2、计算日期到天数转换3、日期差值4、打印日期5、日期累加6、拷贝构造调用次数问题原创 2022-06-25 12:30:19 · 1249 阅读 · 29 评论