
初学至学会C++
文章平均质量分 94
jxwd
转载请注明出处,欢迎转载转发。开心学编程,学到无极限
展开
-
C++第十一节——单例模式 C++11 智能指针 异常 有关讲述
本节内容,我们要介绍四个模块的内容。按照顺序来,分别是单例模式、C++11、异常和智能指针。目录单例模式要求设计一个类,只能让其创建在堆上。你实现一个类,要求该类只能在栈上去创建设计一个函数,要求防止拷贝构造单例模式:饿汉模式懒汉模式懒汉模式和饿汉模式的对比C++11C++11简介统一的列表初始化声明类型auto类型decltypenullptr范围for循环STL的新内容右值引用和移动语义左值引用和右值引用比较.原创 2022-03-14 12:45:35 · 3868 阅读 · 27 评论 -
C++ 第十节 ——哈希 unordered_map/unordered_set的封装 位图 布隆过滤器 海量数据处理
我们本节继续讲解STL里的内容。哈希表又叫做散列表,它可以用来封装unordered_map和unordered_set。我们还是按照老规矩来,先介绍其用法,再介绍其原理,并引到哈希上来。目录unordered_map/unordered_set的用法unordered_map/unordered_set的底层原理1、直接定址法:2、除留余数法闭散列:二次探测开散列Unordered_map和Unordered_set的封装哈希的应用位图:位图的应用:原创 2022-03-09 20:08:28 · 1851 阅读 · 40 评论 -
C++ 第九节——map/set(用法+底层原理+模拟实现)
有了前面红黑树的底子,我们这一节的任务就比较轻松了。关于Map和Set是什么东西,我们来借助网络文献进行解释。首先,我们需要知道的是,Map和Set的底层都是红黑树。即是一种平衡的二叉搜索树,也就是二叉平衡搜索树。而set就是我们前面说到的Key模型,而map就是<K,V>模型。我们接下来将一边对比,一边介绍。set和map的介绍先来看set:通过查阅文档有关set的声明,我们可以发现:这里的T就是我们所说的Key,就是key_type或者说是value_原创 2022-03-05 21:19:05 · 7783 阅读 · 13 评论 -
C++ 第八节&数据结构 第七节 ——二叉搜索树 AVL树 红黑树(底层原理图+模拟实现)
我们将着重来探讨 二叉树 中特殊的两种树——搜索二叉树 和 平衡二叉树。而平衡二叉树我们可以有AVL树,红黑树等。我们今天就重点来说说这三种结构。1、二叉搜索树我们之所以将其放在这里来讲,最主要的原因就是之前我们所有模拟实现都是用C去实现的,而这些东西用C语言很难实现,所以,我们将其放在C++当中。1-1、概念二叉搜索树又称二叉排序树,它要么是一个空树,要么是满足以下性质的一个二叉树。若它的左子树不为空,则左子树上所有节点的值都小于根节点的值 若它的右子树不为空,则右子树原创 2022-03-02 21:47:23 · 2835 阅读 · 51 评论 -
初阶后的C++ 第七节 —— 多态
什么叫多态?字面意思,就是多种状态。那又是谁的多种状态呢?看完本节,你将会知道答案原创 2022-02-27 11:00:00 · 498 阅读 · 14 评论 -
初阶后的C++——第六节——IO流 与 继承
C++之继承,C++IO流,C++文件操作,你想了解吗?关于IO流的知识,我们在这里只是简单地提一下,以及在代码书写过程当中需要注意的问题。关于其具体的、详细的知识,我们放在Linux操作系统中来介绍。原创 2022-02-24 18:32:46 · 1226 阅读 · 14 评论 -
初阶C++ 第五节—STL之Stack和Queue(deque+priority_queue)+适配器 + 仿函数 + 模板进阶
这一节比较简单。任务比较轻松。先说Stack 和 Queue。我们还是先来说说它们的用法,然后再来模拟实现。目录Stack和Queue的用法Stack:Queue:Stack和Queue的模拟实现deque:(双向队列)仿函数优先级队列(堆)模板进阶非类型模板参数模板的特化函数模板特化类模板特化模板分离编译原因:解决方法:模板总结Stack和Queue的用法首先,关于Stack和Queue它们的底层逻辑,我们已经在数..原创 2022-01-29 12:16:10 · 1561 阅读 · 5 评论 -
初阶C++——STL——string类、vector类和list类(使用方法+模拟实现+测试+思路分析)
从今天开始,我们正式进入STL的学习。我们今天会重点讲解三个类——string vector 和 list在介绍之前,我们可以先来了解一下,何为STL?以及它的优势和缺陷。原创 2022-01-27 20:19:50 · 4757 阅读 · 28 评论 -
初阶C++—— 第三节—— 动态内存管理 初识模板
我们还是先回到上一章节所说的段子:编程世界,一切皆对象。如果没有对象的话,那就new一个出来。这里的new就是和动态内存管理有关系了。我们今天来好好地说一说。首先,还记得我们之前所说的C/C++的内存分布吗?这个图其实我们已经引用第二次了。预备知识我们认为,C/C++ 包含内核空间、栈区、内存映射段、堆区、数据段、代码段等。该图引自0基础C语言自学保姆教程——第十一节 自定义类型(结构体、枚举、位段、联合)与预处理指令(#define、#include等)_jxwd的博客-C原创 2022-01-25 15:57:46 · 1603 阅读 · 28 评论 -
初阶C++——C++第二节——类和对象(大全篇)
想必大家都听过这样一个段子:编程界最不缺少的就是对象。因为编程世界,一切皆对象。没有对象怎么办?我可以new一个出来。关于new的内容,我们下一节再说。本章节我们先说《类和对象》,并且重点在 类 上。另外,本节内容超级多的。是能分成三篇文章来写的,但是我嫌麻烦,一锅端了。目录一、对象的概念二、面向过程和面向对象初步认识三、类的引入四、类的定义4-1 类的两种定义方式4-1-1. 声明和定义全部放在类体中。4-1-2. 声明放在.h文件中,类的定义放在.cp..原创 2022-01-24 16:22:52 · 1549 阅读 · 23 评论 -
初阶C++——C++第一节——C++基础语法
这下,我前面什么都不想写了,上来就是正文,上来就肝。没有广告了!要说明一句,笔者在C中啰嗦过的语法在这里是不会再重复了的(什么分支循环什么的),相信如果我要是重复啰嗦的话,我不烦你们都烦了。一、什么是C++二、C++的发展史三、C++命名空间——关键字namespace3-1 命名空间的定义方法3-2 命名空间的使用方式四、C++ 输入 输出五、缺省参数5-1 缺省参数概念5-2 全缺省与半缺省5-2-1 全缺省5-2-2 半缺省六、函数重载七、引用7-1 引用概念:7-2 引用使用注意:7-3 常原创 2022-01-23 09:49:01 · 1069 阅读 · 25 评论