自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 C++中的有哪些构造函数

C++中的有哪些构造函数

2024-04-20 14:24:16 251

原创 拷贝构造函数生成新的类对象,而赋值运算符不能。解释

拷贝构造函数生成新的类对象,而赋值运算符不能。解释

2024-04-20 14:06:07 178

原创 printf的%s

printf() 输出字符串时,会从第 0 个元素开始往后检索,直到遇见'\0'才停止,然后把'\0'前面的字符全部输出,这就是 printf() 输出字符串的原理。

2024-03-25 20:12:08 126

原创 黑盒测试和白盒测试总结

黑盒测试和白盒测试总结

2024-03-23 20:28:12 180

原创 c++快速排序

c++快速排序

2024-03-18 21:47:08 406

原创 c++希尔排序

c++希尔排序

2024-03-18 21:25:55 485

原创 c++插入排序

C++ 中的插入排序是一种简单直观的排序算法,它通过构建有序序列,对未排序的数据,在已排序序列中从后向前扫描,找到相应位置并插入。在上面的示例中,insertionSort 函数实现了插入排序算法,main 函数中演示了如何使用这个函数对一个整数数组进行排序。

2024-03-18 21:24:21 336

原创 c++选择排序

c++选择排序

2024-03-18 21:23:24 354

原创 c++冒泡排序

c++冒泡排序

2024-03-18 21:18:53 299

原创 c++实现二叉树

c++实现二叉树

2024-03-18 19:12:43 325

原创 图算法总结

图算法总结

2024-03-18 19:00:07 294

原创 c++实现深度优先搜索

c++实现深度优先搜索

2024-03-18 16:39:10 367

原创 c++实现广度优先搜索

c++实现广度优先搜索

2024-03-18 16:36:09 326

原创 从遍历上来说,list是单向的,vector是双向的。这句话对吗

从遍历的角度来说:- 对于list来说,虽然它是双向链表,每个节点都包含指向前一个节点和后一个节点的指针,但在实际遍历时,我们通常只能沿着一个方向(比如从头到尾或从尾到头)进行遍历,因为单个节点并不直接提供反向遍历的功能。因此,可以说对于list来说,在常规情况下遍历是单向的。- 对于vector来说,由于元素在内存中是连续存储的,我们可以通过下标或迭代器自由地双向遍历vector中的元素。因此,可以说对于vector来说,遍历是双向的。

2024-03-16 21:45:05 381

原创 将亡值和纯右值

将亡值和纯右值

2024-03-16 21:11:27 331

原创 MySQL的视图(View)

视图(View)是一种虚拟的表,它是基于 SQL 查询结果集生成的,不存储实际的数据。视图可以包含来自一个或多个基本表的行和列,当查询视图时,实际上是执行了定义视图时指定的查询语句。通过视图,用户可以以一种逻辑上的方式看待数据,而不必关心底层表结构或复杂的联接操作。视图可以简化复杂查询的编写,提高查询的重用性,同时还可以加强数据安全性,限制用户对数据的访问权限。视图在数据库中起到类似于虚拟表的作用,使得用户能够以一种更便利的方式访问和操作数据,是数据库中非常有用的概念和功能之一。

2024-03-16 16:18:13 316

原创 MySQL中为什么要有事务回滚机制?

MySQL中为什么要有事务回滚机制?

2024-03-16 15:42:40 352

原创 fcntl()解释

fcntl()是一个系统调用函数,用于对文件描述符进行操作。它可以用于执行各种操作,如复制文件描述符、获取/设置文件描述符的属性、锁定文件、调整文件偏移等。fcntl()函数的原型如下:```c#include int fcntl(int fd, int cmd, ... /* arg */);```其中,fd是需要进行操作的文件描述符,cmd是指定要执行的操作的命令,arg是可选的参数,根据不同的命令可能需要提供附加参数。fcntl()函数的常见命令(cmd)包括:

2024-03-13 22:22:37 347

原创 pid_t pid = fork();pid==0是什么意思

pid_t pid = fork();pid==0是什么意思

2024-03-13 19:24:20 443

原创 进程pid=0是什么意思

进程pid=0是什么意思

2024-03-13 19:18:09 507

原创 cmake的CMAKE_CURRENT_BINARY_DIR解释

`CMAKE_CURRENT_BINARY_DIR` 是 CMake 中一个预定义的变量,用于表示当前正在构建的目标的输出目录。也就是说,当你使用 CMake 构建项目时,该变量会指向当前 CMakeLists.txt 文件所在目录下的构建目录。这个变量通常用来指定生成的可执行文件、库文件等的输出路径。在编写 CMake 脚本时,你可以使用 `${CMAKE_CURRENT_BINARY_DIR}` 来引用这个变量,从而方便地将输出文件安置在正确的位置。需要注意的是,这个变量是只读的,无法手动修改它

2024-03-13 12:05:35 496

原创 PROJECT_SOURCE_DIR和CMAKE_CURRENT_SOURCE_DIR区别

CMAKE_CURRENT_SOURCE_DIR和PROJECT_SOURCE_DIR是两个不同的变量,它们在CMake中有着不同的作用和含义:1. PROJECT_SOURCE_DIR: - PROJECT_SOURCE_DIR是一个由CMake自动生成的变量,用于表示整个项目的根目录路径,即包含顶层CMakeLists.txt文件的目录。 - PROJECT_SOURCE_DIR通常用于引用项目中的其他文件,如源代码文件、头文件等,并且是相对于项目根目录的路径。 - PROJECT

2024-03-13 11:12:59 413

原创 proto的singular解释

在计算机科学和特别是在协议缓冲区(Protocol Buffers,简称Proto)的上下文中,“singular”这个词具有特定的含义。Protocol Buffers是Google开发的一种语言中立、平台中立、可扩展的序列化结构数据的方法,广泛用于通信协议、数据存储等。在Proto定义文件中,字段可以被标记为“singular”或“repeated”来指示该字段是单一值还是值的数组(列表)。这里的“singular”意味着对应的字段是单一实例,即在每个消息实例中,该字段只能出现一次且仅代表一个值或一

2024-03-13 00:12:39 707 1

原创 proto的oneof解释

proto的oneof解释

2024-03-13 00:09:47 452

原创 解释c++wait()和notify()

解释c++wait()和notify()

2024-03-09 21:05:38 415

原创 std::timed_mutex解释

std::timed_mutex解释

2024-03-09 16:07:45 334

原创 c++的chrono总结用法

c++的chrono总结用法

2024-03-09 11:52:55 386

原创 weak_ptr可以修改shared_ptr的值吗

`std::weak_ptr` 本身不能直接修改它所观察的 `std::shared_ptr` 所管理的对象的值。`std::weak_ptr` 的设计目的是为了提供一种不控制对象生命周期(即不增加引用计数)的方式来观察由 `std::shared_ptr` 管理的对象。这样做可以避免循环引用问题,这种问题可能会导致内存泄漏。

2024-03-08 11:55:46 307

原创 weak_ptr用法例子

weak_ptr用法例子

2024-03-08 11:32:50 293

原创 weak_ptr作用是

`weak_ptr`是C++标准库中智能指针的一种,它设计用来解决智能指针(特别是`std::shared_ptr`)可能产生的循环引用问题。`weak_ptr`持有对对象的非拥有(弱)引用,即它不会增加对象的引用计数。

2024-03-08 10:41:14 461

原创 std::unique_ptr<int> p5(new int); *p5 = 10;是用了赋值运算符重载吗

std::unique_ptr p5(new int); *p5 = 10;是用了赋值运算符重载吗

2024-03-08 10:13:25 308

原创 c++的引用和复杂有什么关系

C++中的引用与复制之间的关系是一个重要概念,理解这一点对于编写高效、可靠的C++程序至关重要。下面我将逐步深入地解释这两者的关系和区别,以及它们各自的使用场景。

2024-03-07 20:16:35 311

原创 为什么字符串在常量区

字符串在常量区的主要原因是为了提高内存利用率和程序性能。将字符串存储在常量区可以避免重复存储相同的字符串,节约内存空间。另外,由于字符串在常量区是不可变的,这有利于提高程序的安全性,避免意外修改字符串内容导致的错误。此外,字符串在常量区的存储方式也有利于编译器进行优化,提高程序的执行效率。因此,将字符串存储在常量区是一种经过深思熟虑的设计选择,有利于提高程序的性能和安全性。

2024-02-29 17:08:21 297

原创 分页中怎么转换为物理地址,公式是为什么

分页中怎么转换为物理地址,公式是为什么

2024-02-29 15:39:13 407

原创 为什么把srand()放在循环外就能产生不同的序列呢?

srand()函数的作用是设置rand()函数生成随机数的种子,而不是修改rand()函数的seek。在调用srand()函数时,会将传入的参数作为种子,对rand()函数产生的随机数序列进行初始化,从而使得每次运行程序时,rand()函数生成的随机数序列都是相同的。

2024-02-27 14:32:00 325

原创 char *s2 = str+4;为什么不打印全部

在C语言中,使用指针来表示字符串时,指针所指向的位置就是字符串的起始位置,直到遇到字符串结束符`\0`为止。因此,当使用`printf`打印`s2`时,会打印从指定位置开始直到遇到`\0`的所有字符。

2024-02-26 11:37:55 310 1

原创 假设 p 是指向数组 arr 中第 n 个元素的指针,那么 *p++、*++p、(*p)++ 分别是什么意思呢?

假设 p 是指向数组 arr 中第 n 个元素的指针,那么 *p++、*++p、(*p)++ 分别是什么意思呢?

2024-02-25 21:02:32 355 1

原创 ((i++)*(i++))这个怎么解释

((i++)*(i++))这个怎么解释

2024-02-23 23:47:51 311 1

原创 ZREVRANGE排序问题

zadd myzset 1 one 2 two 3 three,ZREVRANGE myzset 1 -1 #从大到小排序输出1) "two"2) "one"为什么是two one 而不是three two

2024-02-04 16:00:03 363 1

原创 调度器和调度程序区别

调度器和调度程序区别

2024-01-16 21:13:35 363 1

空空如也

空空如也

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

TA关注的人

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