
C++20_第一篇
语言特性 概念Concepts 概述 概念用于约束模板参数,提供了一种简洁的方式来指定模板参数的要求 约束模板参数,增强代码可读性和错误提示 示例 示例1 #include <concepts> #inc...
语言特性 概念Concepts 概述 概念用于约束模板参数,提供了一种简洁的方式来指定模板参数的要求 约束模板参数,增强代码可读性和错误提示 示例 示例1 #include <concepts> #inc...
结构化绑定 结构化绑定允许我们解构和绑定返回的元组、数组或结构体中的值,使得代码更加简洁和可读 #include <tuple> #include <iostream> std::tuple&...
变量模板 C++14引入了变量模板,使得可以为变量定义模板 template<typename T> constexpr T pi = T(3.1415926535897932385); std::cou...
概述 动态规划(Dynamic Programming,简称 DP)是一种通过分解问题来解决复杂问题的算法技术,特别适用于具有最优子结构性质的问题,即问题的最优解可以由其子问题的最优解构建而成 动态规划的核心思想是将...
概述 贪心算法(Greedy Algorithm)是一种构造性算法,用于解决最优化问题 其核心思想是在每一步选择中,都采取当前状态下最优的选择,期望通过一系列局部最优的选择达到全局最优 贪心算法在许多实际问题中非常有...
概述 狄克斯特拉算法(Dijkstra's Algorithm)是一种用于计算单源最短路径的算法,适用于非负权重的有向图和无向图 对于狄克斯特拉算法而言,图必须有权重才行 如果图是无权图(即所有边的权重都相...
BFS 概述 广度优先搜索(Breadth-First Search,简称 BFS)是一种遍历或搜索图或树数据结构的算法 它从根节点开始,沿着树的宽度遍历节点(即先访问同一层级的所有节点,再访问下一层级的节点) 在图...
基于算法思想 比较排序 冒泡排序(Bubble Sort): 反复交换相邻的逆序元素 快速排序(Quick Sort): 通过分区交换来排序,递归地对分区进行排序 堆排序(Heap Sort): 利用堆结构进行排序,...
模板 概述 C++模板是一个强大的编程工具,使得可以编写通用的、类型安全的代码 模板主要用于函数和类的泛型编程,允许你定义通用算法和数据结构,然后在需要时使用具体类型进行实例化 使用场景 通用算法: 模板允许你编写通...
多态 概述 多态性(Polymorphism)是面向对象编程的一个核心概念,它允许同一个接口调用在不同对象上执行不同的操作 在C++中,多态性主要通过继承和虚函数实现 多态性使代码更具灵活性和可扩展性 因为你可以编写...