
C++
文章平均质量分 95
一枚快乐的野指针
这个作者很懒,什么都没留下…
展开
-
基于哈希结构的关联式容器
哈希1 unordered 系列关联式容器2 底层结构3 模拟实现4 哈希的应用5 海量数据面试题二级目录三级目录1 unordered 系列关联式容器2 底层结构3 模拟实现4 哈希的应用5 海量数据面试题二级目录三级目录...原创 2021-06-12 14:15:08 · 510 阅读 · 4 评论 -
关联式容器---map和set
map和set1 关联式容器2 键值对3 树型结构的关联式容器3.1 set3.1.1 set 的介绍3.1.1 set 的使用3.2 map3.2.1 map的介绍3.2.2 map 的使用3.3 multiset 与 multimap 的介绍与使用3.3.1 multiset3.3.2 multimap3.4 map中的operator[]4 底层结构二级目录三级目录1 关联式容器在前面的文章里,我们已经接触过STL中的部分容器,比如:vector、list、deque、forward_list(原创 2021-06-01 16:37:24 · 527 阅读 · 4 评论 -
深入探索 C++ 中的多态
多态1 多态的概念2 多态的定义及实现2.1 多态的构成条件2.2 虚函数重写的两个例外2.2.1 协变2.2.2 析构函数的重写(是个高频面试题)1 多态的概念通俗来说,就是多种形态,具体点就是去完成某个行为,当不同的对象去完成时会产生出不同的状态。2 多态的定义及实现2.1 多态的构成条件多态的构成条件来借助代码来引入class Person{public: virtual void BuyTickets() { cout << "Person,全价" <&原创 2021-05-11 12:11:40 · 373 阅读 · 2 评论 -
C++ 中的继承
继承1 什么是继承1.1 继承的概念1.2 继承的定义1.2.1 定义格式1.2.2 继承关系和访问限定符1.2.3 继承基类成员访问方式的变化2 基类(父类)对象和派生类(子类)对象之间的赋值转换3 继承中的作用域4 派生类(子类)的默认成员函数5 继承与友元6 继承与静态成员7 复杂的菱形继承以及菱形虚拟继承7.1 单继承7.2 多继承7.3 菱形继承7.3.1 菱形继承的问题7.3.2 如何解决7.3.3 虚拟继承解决数据冗余和二义性的原理8 继承的扩展和总结8.1 继承和组合1 什么是继承1.1原创 2021-04-28 20:30:38 · 1900 阅读 · 10 评论 -
C++ STL中的容器适配器
stack & queue & priority_queue1 stack1.1 stack 介绍1.2 stack 使用1.3 stack 模拟实现1.4 deque 的简单介绍2 queue2.1 queue 介绍2.2 queue 使用2.3 queue 模拟实现3 priority_queue3.1 priority_queue 介绍3.2 priority_queue 使用3.3 priority_queue 模拟实现4 容器适配器模式二级目录三级目录1 stack1.1 st原创 2021-04-17 15:26:09 · 1159 阅读 · 4 评论 -
C++容器 vector 介绍及其使用
vector 介绍及其使用1 vector 的介绍2 vector 的使用2.1 vector 的构造函数2.2 vector 的遍历2.3 vector 的空间增长问题2.4 vector 的增删查改3 vector 的迭代器失效问题1 vector 的介绍vector 是可变大小数组的序列化容器就像数组一样,vector 也采用的连续存储空间来存储元素。也就是意味着可以采用下标对 vector 的元素进行访问,和数组一样高效。但是又不像数组,它的大小是可以动态改变的,而且它的大小会被容器自动处原创 2021-03-31 20:43:47 · 552 阅读 · 2 评论 -
深度解析C++中的容器 —— string
string类的灵魂三问:是什么?为什么?怎么办?1 为什么要学习 string 类(为什么)?2 标准库中的 string 类(是什么)?2.1 string 类2.2 string 类的常用接口2.2.1 string 类对象的常用构造函数2.2.2 string 类对象的容量操作2.2.3 string 类对象的访问和遍历操作2.2.4 string 类对象的修改操作3 string类的模拟实现(怎么办)?3.1 经典的 string 类问题3.2 浅拷贝3.3 深拷贝3.3.1 传统版写法的 str原创 2021-03-24 21:14:58 · 417 阅读 · 3 评论 -
C/C++内存管理&模板初阶
内存管理和模板初阶1 内存管理1.1 C/C++ 的内存分布1.2 C 中动态内存管理方式1.3 C++ 中动态内存管理方式1.3.1 new/delete操作内置类型1.3.2 new/delete操作自定义类型1.3.3 operator new 与 operaror delete 函数1.3.4 new 和 delete 的实现原理1.4 malloc/free 和 new/delete的区别2 模板初阶2.1 泛型编程2.1 函数模板2.1.1 概念2.1.2 格式2.1.3 原理2.1.4 实例化原创 2021-03-12 17:28:51 · 1401 阅读 · 5 评论 -
C++中的类与对象3
1 const 修饰类的成员函数将 const 修饰的类的成员函数称之为 const 成员函数,const 修饰成员函数实际修饰该成员函数隐含的this指针,表明在该成员函数中不能对类的任何成员进行修改。1 const 对象可以调用非 const 成员函数吗?const Date* this -----> Date* this 这其实权限的放大,从可读变为可读可写,这当然是不行的。2 非 const 对象可以调用 const 成员函数吗?原理和1 相似,Date* this --原创 2021-03-09 22:29:40 · 1033 阅读 · 4 评论 -
C++中的类与对象2——构造函数、析构函数、拷贝构造函数、赋值运算符重载函数
类的成员函数1 类的构造函数1.1 构造函数的概念1.2 构造函数的特性2 类的析构函数2.1 析构函数概念2.2 析构函数的特性3 类的拷贝/复制构造函数3.1 拷贝/复制构造函数的概念3.2 拷贝/复制构造函数的特征4 类的赋值运算符重载函数4.1 运算符重载4.2 赋值运算符重载1 类的构造函数1.1 构造函数的概念对于以下的日期类class Date{ public: void SetDate(int year, int month, int day) { _year = ye原创 2021-02-07 16:12:51 · 486 阅读 · 4 评论 -
C++中的类与对象1
类和对象1 面向过程和面向对象的初步认识2 类2.1 类的引入2.2 类的定义2.3 类的作用域2.4 类的实例化2.5 类的访问限定符和封装2.5.1 访问限定符2.5.2 封装2.6 类的对象大小的计算2.6.1 类对象的存储方式2.7 类成员函数的this指针2.7.1 this指针的引出2.7.2 this指针的特性1 面向过程和面向对象的初步认识C语言是面向过程的,关注的是过程,分析出求解问题的步骤,通过函数调用逐步解决问题。C++是基于面向对象的,关注的是对象,将一件事情拆分成不同的对象原创 2021-02-06 19:00:11 · 355 阅读 · 1 评论 -
C++中的引用
C++中的引用1 引用的概念2 引用的特性3 常引用4 使用场景4.1 作为参数4.2 作为返回值5 传值、传引用的效率比较5.1 值和引用的作为参数的性能比较5.2 值和引用的作为返回值类型的性能比较6 引用和指针的区别和联系1 引用的概念引用不是新定义一个变量,而是给已存在变量取了一个别名,编译器不会为引用变量开辟内存空间,它和它引用的变量共用同一块内存空间。格式:类型& 引用变量名(对象名) = 引用实体;比如权游中的龙妈:她就有很多别名,比如,不焚者,卡丽熙反正都是龙妈。原创 2021-02-01 22:45:02 · 1344 阅读 · 4 评论 -
C++初识
C++初识1 C++的前世今生1.1 什么是C++1.2 C++发展史1.3 C++的重要性1.3.1 语言使用广泛度1.3.2 学习和工作2 C++入门2.1 C++关键字2.2 命名空间2.2.1 命名空间定义2.2.1 命名空间使用2.3 输入&输出2.4 缺省参数2.4.1 缺省参数概念2.4.2 缺省参数分类2.5 函数重载2.5.1 函数重载的概念2.5.2 C++函数的重载的原理和C不可以函数重载的原因1 C++的前世今生1.1 什么是C++C语言是结构化和模块化的语言,适合处原创 2021-01-31 19:49:43 · 2070 阅读 · 8 评论