C++
文章平均质量分 95
Ustinian%
凡是过往,皆为序章
展开
-
CMake笔记
CMake原创 2023-02-03 16:08:26 · 877 阅读 · 1 评论 -
C++11
在C++98中,标准允许使用花括号{}对数组元素进行统一的列表初始值设定。比如:但是对于一些自定义的类型,却无法使用这样的初始化。比如说:像这样的自定义类型就无法使用初始化列表去初始化,从而导致无法通过编译,因此每次定义vector时,都需要先把vector定义出来,然后使用循环对其赋值初始值,非常不方便。 注意: 列表初始化可以在{}之前使用等号,其效果与不使用=没有什么区别,但是为了代码的可读性建议加上=。标准库支持单个对象的列表初始化多个对象的列表初始化多个对象想要支持列表初始化,需要给该原创 2022-07-11 19:59:08 · 446 阅读 · 0 评论 -
C++特殊类设计
我想大家对于这个问题第一步想到的肯定是运行结果:我们将构造函数私有之后,虽然不能在栈上创建对象,但是同样也不能在堆上创建对象了,这种就属于 那我们有没有什么办法可以让我们不能再栈上创建对象,但是可以在堆上创建对象呢?答案是有的。大家可能认为这样子就可以了,其实不是的,请大家仔细的想一想:调用一个类的普通成员函数是不是需要对象去调用,那我们在堆上申请的对象又正好需要调用这个函数来生成,可是我们选择都没有对象我们如何去调用这个函数呢?所以这就纯纯是为了解决这个问题,我们可以将这个成员函数运行结果:可以看到原创 2022-06-26 12:53:57 · 233 阅读 · 1 评论 -
C++多态
文章目录C++多态多态的概念多态的定义及实现多态的构成条件虚函数虚函数的重写虚函数的重写的两个例外C++11 override和final重载、覆盖(重写)、隐藏(重定义)的对比抽象类概念接口继承和实现继承多态的原理虚函数表多态的原理动态绑定和静态绑定单继承和多继承关系中的虚函数表单继承中的虚函数表多继承中的虚函数表继承和多态常见的面试问题概念考察问答题C++多态多态的概念多态的概念: 通俗来说,就是多种形态,具体点就是当不同的对象去完成同一件事时会产生出不同的状态。举一个生活中的例子,比如说:原创 2022-05-30 18:38:05 · 474 阅读 · 13 评论 -
C++继承
文章目录C++继承继承的概念及定义继承的概念继承的定义定义格式继承关系和访问限定符继承基类成员访问方式的变化默认继承方式基类和派生类对象赋值转换继承中的作用域派生类的默认成员函数构造函数拷贝构造赋值运算符重载析构函数继承和友元继承与静态成员菱形继承及菱形虚拟继承继承方式菱形继承菱形虚拟继承菱形虚拟继承解决数据冗余和二义性的原理继承的总结和反思笔试面试题C++继承继承的概念及定义继承的概念继承(inheritance)机制是面向对象程序设计使代码可以复用的最重要的手段,它允许程序员在保持原有类特性的基原创 2022-05-11 14:12:13 · 592 阅读 · 7 评论 -
C++进阶——AVL树
文章目录C++进阶——AVL树AVL树的概念AVL树的实现AVL树节点的定义AVL树的四个默认成员函数构造函数拷贝构造析构函数赋值运算符重载AVL树的插入插入的步骤平衡因子的调节旋转处理(父节点的平衡因子违法平衡树的性质)代码实现[]运算符的重载AVL树的查找AVL树的打印验证是否为AVL树AVL树代码实现C++进阶——AVL树AVL树的概念在前面的文章中我们学习了二叉搜索树,但是二叉搜索树虽然可以缩短查找的效率,但是 如果数据有序或者接近有序的情况下二叉搜索树会退化成单支树,查找元素相当于在顺序表中原创 2022-03-08 17:31:05 · 924 阅读 · 6 评论 -
C++进阶——二叉搜索树
二叉搜索树这篇文章主要为大家介绍二叉树搜索树的概念、操作、实现以及它的应用。同时学习二叉搜索树也是在为我们后面学习map与set做铺垫,当我们了解了二叉搜索树的特性后,后面将有助于我们更好的理解map和set的特性二叉搜索树的概念(特征)二叉搜索树也称二叉排序树,它或是一棵空树,或者是具有以下性质的二叉树:若它的左子树不为空,则左子树上所有的节点值都小于根节点的值若它的右子树不为空,则右子树上所有节点的值都大于根节点的值它的左右子树也分别为二叉搜索树int arr[] = {5,3,原创 2022-03-03 15:17:18 · 950 阅读 · 1 评论 -
C++STL详解(七):stack、queue与priority_queue的使用及其模拟实现
文章目录stackstack的介绍栈的使用queuequeue的介绍队列的使用priority_queuepriority_queue的介绍优先队列的使用容器适配器什么是容器适配器STL标准库中stack、queue和priority_queue的底层结构deque的简单介绍(了解)stack的模拟实现queue的模拟实现仿函数priority_queue的模拟实现向上调整算法向下调整算法代码实现stackstack的介绍stack这种容器就像是手枪装填子弹然后开枪一样,先装进去的子弹会在下面然后原创 2022-02-19 11:04:44 · 781 阅读 · 3 评论 -
C++STL详解(六):list的模拟实现
文章目录list要实现的三个类以及各函数接口结点类构造函数迭代器类为什么要实现迭代器类?模板参数构造函数*运算符的重载->运算符的重载前置++运算符的重载后置++运算符的重载前置--运算符的重载后置--运算符的重载==运算符的重载!=运算符的重载list类默认成员函数构造函数拷贝构造赋值运算符重载析构函数与迭代器相关的函数beginend获取元素的函数frontback插入与删除函数inserterasepush_backpop_backpush_frontpop_front其他函数sizeclear原创 2022-02-16 12:25:14 · 703 阅读 · 1 评论 -
C++STL详解(五)list的介绍及其使用
文章目录list的介绍及使用list的介绍list的使用list的四种初始化方式list迭代器的使用begin和endrbegin和rendlist的两种遍历方式方式一:迭代器遍历方法二:范围for遍历list的大小empty和sizelist的元素获取front和backlist的修改操作push_front与pop_frontpush_back与pop_backinserteraseswapclearlist的操作函数sortspliceremoveuniquereverseassinlist的迭代器失原创 2022-02-13 20:51:59 · 1349 阅读 · 4 评论 -
C++STL详解(四):vector的模拟实现
文章目录vector各函数的接口vector的成员变量默认成员函数构造函数一构造函数二构造函数三拷贝构造赋值运算符重载析构函数与迭代器相关的函数beginend与容量和大小相关的函数resizereserveemptysizecapacity修改容器内容的相关函数push_backpop_backswapinserterase访问容器的相关函数operator[]vector的实现代码vector各函数的接口namespace mlf{ //模拟实现vector template<class原创 2022-02-05 22:04:50 · 1579 阅读 · 12 评论 -
C++STL详解(三):vector的介绍及其使用
文章目录vector的介绍及使用vector的介绍vector的定义vector的三种遍历方式vector的空间增长问题size和capacityemptyresizereservevector迭代器的使用begin与endrbegin与rendvector增删查改push_back和pop_backfindinsert和eraseswapoperator[]vector迭代器失效问题(重点)示例一:示例二:示例三:迭代器失效解决办法示例一解决方案:示例二解决方案:示例三解决方案:vector的介绍及使用原创 2022-02-02 15:10:53 · 1040 阅读 · 0 评论 -
C++STL详解(二):string的模拟实现
文章目录string的深浅拷贝问题浅拷贝深拷贝传统写法string类各函数的接口默认成员函数构造函数拷贝构造函数赋值运算符重载析构函数与迭代器相关的函数beginend与容量和大小相关的函数sizecapacityemptyreserveresize修改字符串的函数push_backappendoperator+=swapinserteraseclearc_str字符串访问与查找函数findoperator[]关系运算符重载函数<运算符重载==运算符重载<=运算符重载>运算符重载>=原创 2022-01-30 12:31:59 · 574 阅读 · 13 评论 -
C++STL详解(一):string类的介绍以及基本使用
C++string类的介绍以及基本用法原创 2022-01-23 23:33:47 · 1318 阅读 · 6 评论 -
C++模板初阶——函数模板与类模板
C++函数模板与类模板原创 2022-01-20 20:41:04 · 740 阅读 · 4 评论 -
C/C++内存管理
C/C++内存管理原创 2022-01-18 21:25:23 · 413 阅读 · 10 评论 -
C++类和对象(下)
C++类和对象(下)原创 2022-01-14 14:47:35 · 383 阅读 · 3 评论 -
C++类和对象(中)
C++类和对象(中)原创 2022-01-06 17:35:45 · 1781 阅读 · 18 评论 -
C++类和对象(上)
C++类和对象(上)原创 2021-12-30 14:22:27 · 510 阅读 · 0 评论 -
一篇文章带你了解C++入门语法
一篇文章带你了解C++入门语法asmdoifreturntrycontinueautodoubleinlineshorttypedefforbooldynamic_castintsignedtypeidpublicbreakelselongsizeoftypenamethrowcaseenummutab原创 2021-12-25 19:55:07 · 2107 阅读 · 18 评论