C++
文章平均质量分 96
本专栏讲解C++的基础语法
不是笨小孩i
C/C++领域新星创作者,阿里云专家博主,2023新星计划C/C++赛道TOP1,平凡的日子不动声色就很美好,不完美才是常态。
展开
-
特殊类的设计
正文开始前给大家推荐个网站,前些天发现了一个巨牛的学习网站,,忍不住分享一下给大家。。原创 2024-01-27 19:32:37 · 1349 阅读 · 37 评论 -
C++异常处理机制
实际使用中很多公司都会自定义自己的异常体系进行规范的异常管理,因为一个项目中如果大家随意抛异常,那么外层的调用者基本就没办法玩了,所以实际中都会定义一套继承的规范体系。这样大家抛出的都是继承的派生类对象,捕获一个基类就可以了。原创 2024-01-06 15:12:25 · 1258 阅读 · 54 评论 -
lambda表达式和包装器
正文开始前给大家推荐个网站,前些天发现了一个巨牛的学习网站,,忍不住分享一下给大家。。我们在使用库里的排序算法时如果排序的是自定义类型或者库里默认的排序不能满足我们则需求,我们都会传一个可调用对象过去,我们以前都是传的仿函数,但是仿函数比较笨重,每次都需要定义一个类。并且如果仿函数命名不好的话,让读代码的人也是非常痛苦。原创 2024-01-01 13:37:39 · 1414 阅读 · 57 评论 -
右值引用和移动语义以及C++11新增的类功能
左值是一个表示。原创 2023-12-26 14:45:50 · 1451 阅读 · 53 评论 -
C++11
initializer_list可以理解为两个指针,然后数组的内容放在常量区,initializer_list的一个指针指向开头,一个指向最后一个的下一个位置,每个容器都支持了initializer_list的构造,{ 1,2,3,4,5,6 }大多数情况下会被编译器识别为initializer_list,所以C++11支持容器的列表初始化。C++11扩大了用大括号括起的列表(初始化列表)的使用范围,使其可用于所有的内置类型和用户自定义的类型,使用初始化列表时,可添加等号(=),也可不添加。原创 2023-12-19 16:50:57 · 2285 阅读 · 49 评论 -
位图、布隆过滤器、海量数据处理
正文开始前给大家推荐个网站,前些天发现了一个巨牛的学习网站,,忍不住分享一下给大家。。原创 2023-12-16 22:44:55 · 1438 阅读 · 5 评论 -
改造哈希表,封装unordered_map和unordered_set
当改造完插入以后,我们会发现unordered_set的插入编译编不过,这是因为unordered_set的迭代器都是const迭代器,而哈希表的插入返回的是普通的迭代器,这里的iterator无法转化为const_iterator,所以编译错误,有两种方式可以解决,我们可以支持const迭代器转化为普通迭代器,我们也可以直接用const中的东西来构造新的普通迭代器。这里不传这张哈希表也是可以的,因为我们的目的是找下一个桶,所以把哈希表中的vector传过来也是可以的。迭代器的结构应该是什么样子的?原创 2023-12-15 20:41:23 · 1549 阅读 · 10 评论 -
【C++】哈希表
正文开始前给大家推荐个网站,前些天发现了一个巨牛的学习网站,,忍不住分享一下给大家。。原创 2023-12-13 08:58:25 · 3498 阅读 · 54 评论 -
【C++】红黑树
因为每个节点都存在颜色,并且不为黑色就为红色,所以我们可以定义一个表示颜色的枚举常量。红黑树依旧是三叉链。原创 2023-11-28 22:39:26 · 2744 阅读 · 72 评论 -
【C++】AVL树
AVL树是一棵绝对平衡的二叉搜索树,其要求每个节点的左右子树高度差的绝对值都不超过1,这样可以保证查询时高效的时间复杂度,即。原创 2023-11-22 10:37:30 · 2169 阅读 · 57 评论 -
map和set
正文开始前给大家推荐个网站,前些天发现了一个巨牛的学习网站,,忍不住分享一下给大家。。原创 2023-11-17 21:10:09 · 826 阅读 · 66 评论 -
【C++】二叉搜索树
二叉搜索树在最优情况心下的效率是O(logN),但是如果插入的是有序的数据搜索二叉树就会退化成单支树,此时效率会大大折扣,AVL树和红黑树不会出现这种情况!那么今天的分享就到这里了,有什么不懂得可以私信博主,或者添加博主的微信,欢迎交流。原创 2023-11-04 21:42:35 · 1014 阅读 · 61 评论 -
C++多态
多态是在不同继承关系的类对象,去调用同一函数,产生了不同的行为。所以多态一定是要有继承,然后不同的对象去干某件事产生不同的行为。除了继承以外,多态还有两个重要的条件必须通过基类(父类)的指针或者引用调用虚函数被调用的函数必须是虚函数,且派生类必须对基类的虚函数进行重写我们可以认为重写包含在重定义里面,它的条件更为苛刻。原创 2023-10-27 20:30:25 · 2991 阅读 · 65 评论 -
C++继承
继承(inheritance)机制是面向对象程序设计使代码可以复用的最重要的手段,它允许程序员在保 持原有类特性的基础上进行扩展,增加功能,这样产生新的类,称派生类。继承呈现了面向对象程序设计的层次结构,体现了由简单到复杂的认知过程。以前我们接触的复用都是函数复用,继 承是类设计层次的复用。如何定义一个继承类呢?原创 2023-10-21 09:20:54 · 1213 阅读 · 60 评论 -
模板进阶和反向迭代器
模板参数分类类型形参与非类型形参。类型形参即:出现在模板参数列表中,跟在class或者typename之类的参数类型名称。非类型形参,就是用一个常量作为类(函数)模板的一个参数,在类(函数)模板中可将该参数当成常量来使用。注意:通常情况下,使用模板可以实现一些与类型无关的代码,但对于一些特殊类型的可能会得到一些错误的结果,需要特殊处理。比如两个数比较的话,如果参数是指针的话,就不能正常的用大于小于会比较,应该先解引用在比较,否则就会导致结果与我们预期的相反。模板特化中分为函数模板特化与类模板特化。原创 2023-10-14 11:35:17 · 1104 阅读 · 65 评论 -
stack和queue
👀👀👀👀👀👀👀🌹欢迎大家三连关注,一起学习,一起进步!!💓。原创 2023-09-28 12:19:20 · 783 阅读 · 58 评论 -
list的使用和模拟实现
👀👀👀👀👀👀👀🌹欢迎大家三连关注,一起学习,一起进步!!💓。原创 2023-09-23 09:42:44 · 717 阅读 · 81 评论 -
vector使用和模拟实现
STL(standard template libaray-标准模板库):是C++标准库的重要组成部分,不仅是一个可复用的组件库,而且是一个包罗数据结构与算法的软件框架。STL的六大组件。原创 2023-09-18 14:13:48 · 908 阅读 · 95 评论 -
string的使用和模拟实现
string是一个类,可以看成是一个用模板写的顺序表,它的底层结构和顺序表基本是一样的,一个字符指针和一个表示存储数据的个数的size,还有一个表示容量大小的capacity,我们知道C++需要兼容C语言,所以它的字符串后面也是需要有一个‘\0’,的但是size和capacity的大小是不包含这个‘\0’的,因此实际的容量要比capacity大一个。字符串是表示字符序列的类。标准的字符串类提供了对此类对象的支持,其接口类似于标准字符容器的接口,但添加了专门用于操作单字节字符字符串的设计特性。原创 2023-09-15 22:41:16 · 942 阅读 · 90 评论 -
C++动态内存管理+模板
new对于自定义类型,除了开空间以外,还会调用它的构造函数来初始化,delete的时候也会先调用它的析构函数,然后在释放空间。int _y;int main()//开空间并且调用构造函数delete a;//调用析构函数并且释放空间return 0;原创 2023-09-09 08:05:26 · 690 阅读 · 69 评论 -
类和对象(下)
👀👀👀👀👀👀👀🌹欢迎大家三连关注,一起学习,一起进步!!💓。原创 2023-09-03 07:42:57 · 333 阅读 · 44 评论 -
类和对象(中)
👀👀👀👀👀👀👀🌹欢迎大家三连关注,一起学习,一起进步!!💓。原创 2023-09-02 07:28:12 · 1112 阅读 · 107 评论 -
类和对象(上)
/ 类体:由成员函数和成员变量组成 };class为定义类的关键字,ClassName为类的名字,{}中为类的主体,注意类定义结束时后面分号不能省略。类体中内容称为类的成员:类中的变量称为类的属性或成员变量;类中的函数称为类的方法或者成员函数。原创 2023-08-29 09:46:21 · 1416 阅读 · 36 评论 -
C++超基础语法
C语言是结构化和模块化的语言,适合处理较小规模的程序。对于复杂的问题,规模较大的程序,需要高度的抽象和建模时,C语言则不合适。为了解决软件危机, 20世纪80年代, 计算机界提出了OOP(object oriented programming:面向对象)思想,支持面向对象的程序设计语言应运而生。1982年,Bjarne Stroustrup博士在C语言的基础上引入并扩充了面向对象的概念,发明了一种新的程序语言。为了表达该语言与C语言的渊源关系,命名为C++。原创 2023-08-18 13:25:47 · 5029 阅读 · 43 评论