自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 命名空间“System.Windows”中不存在类型或命名空间名“Forms”(是否缺少程序集引用?)

这个错误通常是由于缺少对所需程序集的引用引起的。在你的项目中添加对System.Windows.Forms程序集的引用可能会解决此问题。在解决方案资源管理器中,右键单击你的项目,选择“项目”>“添加引用”,然后在“框架”选项卡下找到System.Windows.Forms并勾选它。然后重新编译你的项目,看看是否解决了问题。

2024-05-15 19:39:30 894

原创 里氏代换原则解释

里氏代换原则是面向对象设计中的一个重要原则,它由巴巴拉·利斯科夫(Barbara Liskov)提出。这个原则规定,子类型必须能够替换其基类型(父类型)而不影响程序的正确性。简而言之,如果一个类型是另一个类型的子类型,那么程序中任何使用基类型的地方都应该能够无需修改地替换为子类型,而不会引发任何错误或异常。函数时,会根据对象的实际类型调用对应的方法,从而保证程序的正确性。根据里氏代换原则,我们可以在。的对象作为参数,而不需要修改。在这个例子中,父类是。

2024-05-09 14:16:56 370

原创 opencv merge使用

函数也提供了相同的功能,用于合并多个单通道或多通道的图像。函数将这两个图像合并成一个多通道的图像。最后,显示合并后的图像。函数用于将多个单通道或多通道的图像合并成一个多通道的图像。在这个例子中,我们首先读取了两个图像,然后创建了一个。容器来保存这两个图像。在C++中,OpenCV的。

2024-05-02 15:49:04 387

原创 opencv namedWindow函数

这是一个可选参数,用于指定窗口的行为。通常情况下,你可以选择不传递第二个参数,这样窗口将使用默认的行为。:这是要创建的窗口的名称。你可以在之后使用这个名称来引用该窗口。这将创建一个可以调整大小的窗口。

2024-05-02 15:21:51 624 1

原创 imread opencv

是 OpenCV 中用于读取图像文件的函数。可以用它来读取各种格式的图像文件,比如 JPEG、PNG、BMP 等。时,你需要指定文件的路径以及读取的模式。请注意,确保文件路径正确且图像存在,以避免返回。

2024-05-02 15:21:12 333 1

原创 opencv invert函数

这段代码将计算输入矩阵的逆矩阵,并输出结果。函数用于计算矩阵的逆。

2024-05-02 15:07:50 465

原创 opencv t函数

在OpenCV中,t函数通常用于转置矩阵(Transpose)。这意味着矩阵的行和列互换位置。

2024-05-02 14:48:43 335 1

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

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

2024-04-20 14:24:16 288

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

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

2024-04-20 14:06:07 184

原创 printf的%s

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

2024-03-25 20:12:08 292

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

黑盒测试和白盒测试总结

2024-03-23 20:28:12 217

原创 c++快速排序

c++快速排序

2024-03-18 21:47:08 420

原创 c++希尔排序

c++希尔排序

2024-03-18 21:25:55 498

原创 c++插入排序

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

2024-03-18 21:24:21 351

原创 c++选择排序

c++选择排序

2024-03-18 21:23:24 362

原创 c++冒泡排序

c++冒泡排序

2024-03-18 21:18:53 315

原创 c++实现二叉树

c++实现二叉树

2024-03-18 19:12:43 349

原创 图算法总结

图算法总结

2024-03-18 19:00:07 307

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

c++实现深度优先搜索

2024-03-18 16:39:10 504

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

c++实现广度优先搜索

2024-03-18 16:36:09 336

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

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

2024-03-16 21:45:05 415

原创 将亡值和纯右值

将亡值和纯右值

2024-03-16 21:11:27 415

原创 MySQL的视图(View)

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

2024-03-16 16:18:13 321

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

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

2024-03-16 15:42:40 397

原创 fcntl()解释

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

2024-03-13 22:22:37 366

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

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

2024-03-13 19:24:20 587

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

进程pid=0是什么意思

2024-03-13 19:18:09 960

原创 cmake的CMAKE_CURRENT_BINARY_DIR解释

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

2024-03-13 12:05:35 974

原创 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 589

原创 proto的singular解释

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

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

原创 proto的oneof解释

proto的oneof解释

2024-03-13 00:09:47 727

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

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

2024-03-09 21:05:38 634

原创 std::timed_mutex解释

std::timed_mutex解释

2024-03-09 16:07:45 399

原创 c++的chrono总结用法

c++的chrono总结用法

2024-03-09 11:52:55 476

原创 weak_ptr可以修改shared_ptr的值吗

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

2024-03-08 11:55:46 320

原创 weak_ptr用法例子

weak_ptr用法例子

2024-03-08 11:32:50 303

原创 weak_ptr作用是

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

2024-03-08 10:41:14 552

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

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

2024-03-08 10:13:25 320

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

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

2024-03-07 20:16:35 315

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

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

2024-02-29 17:08:21 323

空空如也

空空如也

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

TA关注的人

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