自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

原创 容器增长引起的迭代器失效

【代码】容器增长引起的迭代器失效。

2024-06-27 22:08:24 196

原创 封装regex_search为函数, 返回std::smatch后使用std::smatch.str(0)返回乱码 <C++><bug>

我们是用regex_search函数后,若temp_str被销毁,match_result.str(0)的匹配结果就引用到了空地址。在函数外部定义了字符串,但是在内部只对字符串的子串作为匹配字符串,此时仍为乱码。:match_result 中存储匹配结果的方式是。我们需要将临时子串的地址存储下来,可以使用指针。现实中问题可能没法被一眼看出来,因为。在下面的代码中我们定义了。

2024-05-24 21:38:22 342 1

原创 五大C++指针错误--最有条理的介绍

下面这段简单的代码示例中,注释标注了每个流程。当上面的环节中,缺少了时,就发生了我们五个错误中的前三个。不要说缺少步骤1会怎么样,这样我们都不会有指针变量了QAQ。

2024-04-12 20:07:59 633

原创 构建C++代码以生成可执行文件的过程,Ninja、CMake、Make、MinGW和MSVC等工具之间的关系

因此,配置构建系统是一个独立于编译过程本身的准备步骤,旨在设定和准备编译环境。这个步骤为实际的编译工作提供了必要的指导和配置信息,但本身不包括在编译的各个阶段中。

2024-03-22 23:25:07 1992 1

原创 C++中对库函数的误会,STL和DLL

在这个过程中,STL的角色是作为模板库直接参与编译阶段,它的代码被编译进使用它的程序中。与此不同,DLL是在链接阶段被动态链接到程序中的,运行时由操作系统加载。STL模板在编译时就确定了它们的实现,而DLL中的函数和数据则是在程序运行时才被加载和链接的。这就是为什么说STL不是DLL,它们是用于构建C++程序的不同类型的代码和资源。C++的编译过程大致可以分为四个主要阶段:预处理、编译、汇编和链接。

2024-03-12 01:26:51 493 1

原创 C++ Primer Plus Ch5循环和关系表达式 5.1,6.3,6.5

test-expression的值并没有被限制为只能真或者假,可以使用任意表达式。对于不为0的数,C++将结果强制转换为true,为0则转换为false,导致循环结束。例如上面test-expression的i并不是一个逻辑判断式。

2024-03-01 06:50:39 463 1

原创 MySQL基础3 约束

约束是作用于表中字段的规则,用于限制表中的数据。

2024-02-20 05:48:01 453 2

原创 MySQL基础2 函数

datediff函数求时间差值时,使用第一个日期减去第二个日期。若第一个日期早于第二个日期,会返回负值。下面案例中的‘entrydate’代表数据库中记录员工进入公司的日期的一列。case [expr] when 用于与一个确切的值进行比较。case when 多用于判断范围。

2024-02-15 06:02:05 415 1

原创 MySQL 基础

DDL语句用于操作数据库,表结构,字段。

2024-02-15 04:27:16 1653 1

原创 C++ Primer Plus Ch4复合类型(4.7-4.10)

C++primer plus 查漏补缺,不适合初学

2024-02-04 17:41:53 1626 1

原创 C++ Primer Plus Ch4复合类型(4.4-4.6)

有三种方式。

2024-01-22 17:31:09 495

原创 C++ Primer Plus Ch4复合类型(4.1-4.3)

特指使用花括号的赋值方法1.初始化时可以省略等号2.可以不在大括号中包含任何东西。

2024-01-21 17:30:44 459

原创 ROS2 安装踩坑The repository ‘http://packages.ros.....‘ does not have a Release file

如果在sudo apt update时出现报错,可能是因为你的ubuntu版本和ros版本不合适。当你响重装ros2时你需要:(转载自外网。ros1只支持到Ubuntu20.04,如果你使用后面的ubuntu版本,请使用ros2.

2023-12-04 21:11:16 2116

原创 二叉搜索树删除节点

相对于增查改,二叉树的删除是较为复杂的,必须保证删除后所有节点大于其左节点,小于其右节点。删除节点分为几种情况:1.删除的节点为叶子节点:直接删除。2.删除的节点只存在左子树或右子树:删除节点的父节点…包含测试部分,最终输出结果为6.这是一个这样的树:我们删除了5这个节点,将其替换成6。我们可以取左子树的最大值替换当前节点,也可以取右子树的最小值替换。首先我们需要使用递归的方法查找到我们想要删除的节点。2.找到节点后,删除该节点,并填入新节点。只需将当前节点删除后,连接到他的子树。

2023-12-02 23:32:40 646 1

原创 C语言 指针初始化

没有被初始化,它包含一个未知的内存地址,尝试在未初始化的指针上进行赋值是未定义行为,可能导致程序崩溃。可以使用pi = (int *)malloc(sizeof(int));未初始化的指针无法进行非零值的赋值行为。不可以写成*p = NULL;是可行的,但是注意第二行。

2023-11-25 23:35:39 397

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除