C++编程专栏
介绍现代C++语法,数据结构,算法,STL用法
黑不溜秋的
GPU全栈博主-程序哥。
展开
-
C++ STL 随机数用法介绍
目录一:C语言中的随机数二:C++中的随机数 1. 生成随机数的例子 2. 随机数引擎 3. 随机数引擎适配器 4. C++中预定义的随机数引擎,引擎适配器 5. 随机数分布二:C++中的随机数 1. 生成随机数的例子 2. 随机数引擎 引擎 说明 random_device 真随机数(非基于软件生成器),通常用来产生随机种子 linear_congruential_en原创 2024-07-07 14:32:24 · 162 阅读 · 0 评论 -
C++ STL 文件系统用法介绍
【代码】C++ STL 文件系统用法介绍。原创 2024-07-07 12:49:05 · 90 阅读 · 0 评论 -
C++ STL 多线程库用法介绍
【代码】C++ STL 多线程库用法介绍。原创 2024-07-07 11:35:45 · 450 阅读 · 0 评论 -
C++ STL 时间日期用法介绍
C++ 标准库提供了Time Library,它由时间点,时间段,时钟三部分组成,此外,该库还提供了日期功能,日历支持,时区支持,以及输入和输出。原创 2024-07-06 19:12:49 · 157 阅读 · 0 评论 -
C++ STL 正则表达式用法介绍
【代码】C++ 正则表达式(std::regex_search使用)原创 2024-06-18 00:10:01 · 723 阅读 · 0 评论 -
C++ 在项目中使用Shell 脚本
本文介绍下Shell 脚本语法,以便在项目中使用 Shell 脚本。原创 2024-09-11 18:02:32 · 171 阅读 · 0 评论 -
C++ 在项目中使用Linux命令
Linux 命令是由shell解析并转发给操作系统执行的,所有的shell都是从 Bourne shell(/bin/sh)派生的,Bourne shell是贝尔实验室为早期版本的Unix开发的标准shell。每个Unix系统都需要一个版本的Bourne shell才能正常工作。现在的Linux使用Bourne shell的增强版本,称为bash。bash shell是大多数Linux发行版上的默认shell。原创 2024-09-11 12:18:32 · 153 阅读 · 0 评论 -
C++ 在项目中使用Git
【代码】C++ 在项目中使用Git。原创 2024-09-10 14:16:47 · 432 阅读 · 1 评论 -
C++ STL find_end 用法
给定两个序列A和B,用于在序列 A 中查找序列 B 最后一次出现的位置。原创 2024-09-03 06:44:11 · 177 阅读 · 0 评论 -
C++ STL search 用法
给定序列A和B, 该算法用于在A中查找B第一次出现的位置,一般B为A的子序列,通常用于查找B在A中出现的位置。原创 2024-09-03 06:41:19 · 231 阅读 · 0 评论 -
C++ STL find_first_of 用法
给定两个序列 A 和 B,在A序列中查找是否存在B序列中的元素,如找到则返回第一匹配到的元素。原创 2024-09-02 23:26:01 · 235 阅读 · 0 评论 -
C++ STL search_n 的用法和实现
在容器中查找多个元素,比如连续相等的 n 个元素,或者满足条件的 n 个相邻元素。原创 2024-08-28 07:48:50 · 203 阅读 · 0 评论 -
C++ STL adjacent_find 用法与实现
在一个容器中查找相邻元素对,比如查找出两个相等的相邻元素,或查找满足给定条件的两个相邻元素。原创 2024-08-28 07:35:36 · 167 阅读 · 0 评论 -
C++ STL find_if find_if_not 用法
条件查找,在容器中线性查找满足/不满足条件的元素。原创 2024-08-21 10:16:28 · 264 阅读 · 0 评论 -
C++ STL find 用法
线性查找,返回第一个查找到的元素位置,若未找到返回容器 end() 迭代器(即最后一个元素之后的位置)。原创 2024-08-21 10:09:08 · 174 阅读 · 0 评论 -
C++ UML 使用 doxygen 生成源码类图
命令行输入 doxywizard,打开图形界面。原创 2024-08-20 14:14:49 · 213 阅读 · 0 评论 -
C++ STL priority_queue 用法
【代码】C++ STL priority_queue 用法。原创 2024-08-18 14:08:32 · 155 阅读 · 0 评论 -
C++ 语言特性02 - 命名空间
现代C++中的命名空间是什么?C++中的命名空间允许用户在命名空间范围内对类、方法、变量和函数等实体进行分组,而不是在全局范围内使用。这可以防止大型项目中的类、方法、函数和变量之间发生命名冲突。命名空间将开发人员的元素组织到由命名引用的不同逻辑范围中。因此,不同的用户(或命名空间)可以在不同的运行进程中使用相同的方法名和变量。return 0;在现代C++中,命名空间是一种库或框架。原创 2024-08-16 07:17:31 · 184 阅读 · 0 评论 -
C++ STL sort_heap 用法
【代码】C++ STL sort_heap 用法。原创 2024-08-15 14:56:47 · 332 阅读 · 0 评论 -
C++ STL make_heap 用法
构建堆(默认大顶堆)原创 2024-08-15 10:11:32 · 144 阅读 · 0 评论 -
C++ STL construct_at, destroy_at 用法
在指定地址上构造/释放对象。原创 2024-08-15 10:08:18 · 160 阅读 · 0 评论 -
C++ 编程准则01 - 直接用代码表达想法
程序员应该直接用代码表达他的想法,因为代码可以被编译器和工具检查。以下两种例子解释了这个规则。原创 2024-08-14 08:16:25 · 206 阅读 · 0 评论 -
C++ 语言特性01 - 基本数据类型
(c).十六进制:0xB052 = (11 × 163) + (0 × 162) + (5 × 161) + (2 × 160) = (11 × 4096) + (0 × 256) + (5 × 16) + (2 × 1) = 45,138.从 0x80000000 (-2,147,483,648) 到 0xFFFFFFFF (-1)(b). 二进制表示:0b1101 = (1 × 23) + (1 × 22) + (0 × 21) + (1 × 20) = 8 + 4 + 0 + 1 = 13。原创 2024-08-14 00:16:12 · 599 阅读 · 0 评论 -
C++ 几何算法 - 计算三角形的有向面积
给定三个点 p1、p2 和 p3,计算由它们形成的三角形的有向(带符号)面积。面积的符号通过以下方式确定:想象你站在平面上,从点 p1出发(面向 p2)。你走向 p2,如果 p3 在你的右侧(那么我们说这三个向量是“顺时针”转动的),则面积的符号为负,否则为正。如果这三个点共线,则面积为零。利用这个带符号的面积,我们可以得到常规的无符号面积(取带符号面积的绝对值),并确定这些点是顺时针还是逆时针排列(这在凸包算法中是有用的)原创 2024-08-13 08:21:13 · 151 阅读 · 0 评论 -
C++ STL sample 用法
在当前容器内随机选择 n 个元素复制到目标容器中。原创 2024-08-10 12:35:17 · 76 阅读 · 0 评论 -
C++ STL remove_copy 用法
将一个容器元素拷贝到另一个容器中,并在拷贝过程中移除指定的元素。原创 2024-08-09 20:26:52 · 133 阅读 · 0 评论 -
C++ STL copy_if 用法
将容器中满足给定条件的元素拷贝到另一个容器中。原创 2024-08-09 17:01:25 · 100 阅读 · 0 评论 -
C++ STL copy_n 用法
将一个容器中前 n 个数拷贝到另一个容器中。原创 2024-08-08 23:41:29 · 171 阅读 · 0 评论 -
C++ 几何算法 - 直线与圆的交点
给定一个圆的中心坐标和它的半径,以及一个直线方程,那么直线与圆的交点怎么求?这里我们不再使用求解二元方程组方法,而是从几何角度来解决问题,这种方法与代数方法相比,更直观,更准确。1. 在不失一般性的情况下,我们假设圆的中心位于坐标系原点,如果不是,我们看可以将其移到原点,并调整直线方程(加上一个偏移常量)。所以我们得到了一个中心位于原点(0,0)的,半径为 r 的圆。并且直线方程是:Ax + By + C = 0。原创 2024-08-07 14:06:47 · 275 阅读 · 0 评论 -
C++ 几何算法 - 两条线段的交点
给定两条线段 AB 和 CD,我们可以用直线求交的方法找到线段的交点:(1)首先根据线段的端点,构建直线方程,并检查它们是否平行。(2)如果直线不平行,那就需要找到它们的交点,并检查它是否属于这两条线段。原创 2024-08-06 23:40:07 · 260 阅读 · 0 评论 -
C++ 几何算法 - 求两条直线交点
1. 首先定义两条直线方程:2. 解方程,求出x, y坐标3. 如果x分母的行列式等于0, 说明两条直线平行或方向相反4. 如果x,y分母的行列式都等于0,说明两条线重叠。原创 2024-08-06 19:43:10 · 399 阅读 · 0 评论 -
C++ 几何算法 - 向量点乘,叉乘及其应用
(1):向量与自身做点乘,会得到向量长度的平方: (2):向量长度,为向量与自身点乘后再求平方根: (3):向量投影,将a向量投影到向量b上: (4):向量夹角: 判断三个向量是否共面: (1)2D直线方程: (2)将直线1带入直线2中: (3)求交点: (1):三个平面方程:原创 2024-08-05 20:45:12 · 873 阅读 · 0 评论 -
C++ STL copy_backward, move_backward 用法
此处需要解释一下:从后向前并不是逆序,它的意思是: 源容器和目标容器都从尾部开始,然后向前迭代,执行拷贝/移动操作。反向(从后向前的顺序)拷贝/移动操作,将一个容器元素拷贝/移动到另一容器中。原创 2024-08-04 12:02:54 · 338 阅读 · 0 评论 -
C++ STL fill_n, generate_n 用法
(2) generate_n 是用谓词表达式初始化序列中前 n个元素。(1) fill_ 是用固定值初始化序列中前n个元素;初始化容器,将容器中前 n 元素初始化为给定的值。原创 2024-08-03 13:07:56 · 175 阅读 · 0 评论 -
C++ STL fill, generate 用法
(2) generate是用谓词表达式初始化序列中的元素。(1) fill 是用固定值初始化序列中每个元素;填充容器,将序列(容器)中元素初始化为给定的值。原创 2024-08-03 13:04:25 · 281 阅读 · 0 评论 -
C++ STL all_of, any_of, none_of 用法
对给定的序列做布尔测试,测试条件由参数给定(一般是lambda表达式)。(3)none_of, 测试序列中所有元素是否都不满足给定的条件。(1)all_of, 测试序列中所有元素是否都满足给定的条件。(2)any_of, 测试序列中某一元素是否满足给定的条件。原创 2024-08-02 11:20:10 · 228 阅读 · 0 评论 -
C++ STL transform_reduce 用法
计算两个向量的内积,它是 std::inner_product 的泛化版本,支持lambda表达式自定义运算。原创 2024-08-01 23:47:05 · 222 阅读 · 0 评论 -
C++ STL reduce 用法
累加求和,它是 std::accumulate 的泛化版本,它元素的累加顺序没有要求,因此可以用于并行累加。另外也可以通过重载运算符进行累乘等运算。原创 2024-08-01 23:39:38 · 373 阅读 · 0 评论 -
C++ STL adjacent_difference 用法
计算相邻两个元素的差(默认),也可以使用其他自定义运算函数,比如计算相邻两个元素的和。原创 2024-07-31 23:49:30 · 404 阅读 · 0 评论 -
C++ STL partial_sum 用法
计算部分和,即变量序列中每个元素,计算前 i 个元素的累加和,并将结果存在 i 的位置上。原创 2024-07-31 23:30:19 · 266 阅读 · 0 评论