【C++进阶】1. 继承
1. 继承的概念及定义 1.1继承的概念 继承(inheritance)机制是面向对象程序设计使代码可以复用的最重要的手段,它允许程序员在保持原有类特性的基础上进行扩展,增加功能,这样产生新的类,称派生类。继承呈现了面向对象程序设计的层次结构,体现了由简单到复杂的认知过程。以前我们接触的复用都是函数复用,继承是类设计层次的复用。 1.2 继承定义 1.2.1 定义格式 下面我们看到Pe...

C++:模板进阶
前言 在C++:模板初阶中,已经介绍过了模板的基本用法,接下来将着重讲解模板特化等问题。 一、非类型模板参数 模板参数分为:类类型形参与非类型形参。 类类型形参即:出现在模板参数列表中,跟在class或者typename之类的参数类型名称。 非类型形参,就是用一个常量作为类(函数)模板的一个参数,在类(函数)模板中可将该参数当成常量来使用。...



【C++ 包装器类 智能指针】完全教程:std::unique_ptr、std::shared_ptr、std::weak_ptr的用法解析与优化 — 初学者至进阶指南
1. 智能指针简介 1.1 C++智能指针的概念 C++智能指针(Smart Pointers)是一种能够实现自动化内存管理的对象。智能指针在析构时会自动释放它所拥有的内存,从而消除了程序员手动管理内存的复杂性。它们...

C++进阶--mep和set的模拟实现
红黑树链接入口 底层容器 模拟实现set和map时常用的底层容器是红黑树。 红黑树是一种自平衡的搜索二叉树,通过对节点进行颜色标记来保持平衡。 在模拟实现set和map时,可以使用红黑树来按照元素的大小自动排序,并且保持插入和删除操作的高效性。set的每个节点只存储一个键值,不需要额外的值;而map每个节点存储的是一个键值对,值与键保持关联。通过红黑树的特性,可以...

C++进阶--红黑树
概念与特性 红黑树,是一种自平衡的二叉搜索树,它具有以下特点: 每个节点要么是红色,要么是黑色 根节点是黑色的。 每个叶子节点(NIL节点,空节点)都是黑色的。 如果一个节点是红色的,那么它的两个子节点都是黑色的,也就说,不存在两个连续的红色节点。 对于任意节点,从该节点到其后代叶子节点的所有路径上包含相同数目的黑色节点,即保证...

C++进阶--AVL树
概念 AVL树是一种自平衡的二叉查找树,其中任何结点的两个子树的高度最大差别为1,因此也被称为高度平衡树。AVL树的特点是在进行插入和删除操作后,会通过旋转的方式来重新平衡树的结构。 一棵AVL树或者是空树,或者是具有以下性质的二叉搜索树: 它的左右子树都是AVL树; 左右子树高度差的绝对值不超过1(0、1、-1) ...

C++进阶-- map和set
关联式容器 在前面,我们所学的vector、list、deque,这些都是序列容器,也就是底层为线性序列的数据结构。 而关联式容器是C++标准库中的一种类别,用于存储键值对(key-value pair),关联式容器中的元素中的元素是按照键值进行有序存储的,同时也支持快速查找、插入、修改等操作。而map和set就是主要的类型; 这些关联式容器在实现上通常采用平衡二叉搜索树...

C++进阶--搜索二叉树
概念 搜索二叉树是一种特殊的二叉树,其具有以下特点: 1.对于每个结点,它的左子树中的所有节点的值都小于该节点的值,而右子树中的所有节点的值都大于该节点的值。 2.左子树和右子树都是搜索二叉树。 这个 特性使得搜索二叉树可以用于高效地进行查找、插入和删除操作。通过利用节点之间的大小关系,我们可以快速定位到目标值所在的位置,避免不必要的比较操作。 在数据结构...

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。
C++更多进阶相关
开发与运维
集结各类场景实战经验,助你开发运维畅行无忧
+关注