自定义博客皮肤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)
  • 收藏
  • 关注

原创 QT 容器和STL容器差异(扩容方式)

Qt容器与STL容器的一般区别:命名空间、迭代器、内存管理、信号与槽机制、多线程操作、自定义容器和算法

2024-03-13 19:55:04 412

原创 七、C++锁的使用

在std::lock_guard基础上,可以手动对锁进行操作,std::unique_lock比std::lock_guard灵活,但是效率低,占用内存多点。使用std::lock_guard、std::unique_lock方便对线程进行加锁解锁,对std::mutex进行维护使用,不用再手动进行上锁加锁。C++11提出,维护mutex的模板,自动管理互斥锁,构造函数内对锁进行加锁,析构时进行解锁,避免出现死锁、资源泄漏的情况。2.condition_variable.notify_all()通知所有。

2024-03-31 22:34:31 458 1

原创 六、构造函数、析构函数

4、若未定义构造函数,系统将会调用无参 默认构造函数,不会对任何参数进行初始化,定义后就不再调用无参 默认构造函数。3、构造函数是一种特殊的成员函数,无需手动调用,当定义对象时自动调用。2、析构函数无参数,无返回值,函数名和类名相同,没有重载函数。2、构造函数可以有参数、重载,无返回值,函数名和类名相同。1、C++提供构造函数对成员进行初始化操作。1、析构函数进行销毁分配的储存空间。

2024-03-30 16:48:16 269

原创 五.指针和引用的异同点

在32位系统中,一个指针变量的返回值为4字节,64位系统中指针变量的sizeof结果为8字节。2.赋值:引用在定义时必须进行初始化,不可以再引用其他变量,相当于被绑定在初始化的变量上。5.函数形参效率:需要分别一块内存空间,内容为另一块内存的地址,指向变量的地址。3.sizeof:是指针的大小,指针变量的位宽等于机器字长,机器字长由。2.赋值:指针在初始化后,可以再重新赋值,指向其他内存空间。1.内存方面:指针是一个变量,存储的是另一块内存的地址。1.内存方面:引用是另一块内存变量的别名,是一个东西。

2024-03-26 23:01:50 370 1

原创 四、函数指针的使用

如果在类内调用,需要指定this,类外需要有指定的对象,因为需要实际内存空间。函数指针:函数指针指向函数的地址,是个指针变量,本质是个指针变量。类内函数指针的定义需要指定作用域,不是本作用域下不可用,例如。指针函数:返回值为指针的函数,本质还是个函数。非类内函数指针不需要指定作用域。

2024-03-25 11:21:03 358 1

原创 三、C语言中的struct,C++中的struct、class区别

C语言中的struct,C++中的struct、class区别

2024-03-24 21:39:55 302 1

原创 二.多态中的虚函数指针、虚函数表

当子类用保护、私有继承父类时,父类指针不能指向子类对象,因为父类指针本质上是指向子类对象从父类继承过来的内容空间,这部分内容现在是私有、或者保护,不允许被其他指针指向;在编译是,在初始化构造函数时会生成一个虚函数指针,满足多态时,会根据指针找到对应对象虚函数表,然后在表内找到对应的虚函数地址,访问这个虚函数。多态:不同的对象调用同一函数,展现不同的形态,满足多态的函数调用是根据对象的虚函数表,虚函数表是编译时确认。指向子类对象的子类指针指向的空间包含指向子类对象的父类指针指向的空间。

2024-03-21 00:33:08 335 1

原创 一.面向对象的三大特性在C++是怎样的

这三大特性共同构成了面向对象编程的基础,通过它们可以实现代码的模块化、复用性和可维护性,提高程序的可读性和可靠性。在 C++ 中,面向对象编程的三大特性是封装(Encapsulation)、继承(Inheritance)和多态(Polymorphism)。如果满足虚函数,编译器会调用指针指向对象的虚函数,和指针类型无关,;1.2虚函数:virtual,虚函数只能在类内定义只能是类内的非静态成员函数。1.3虚函数的重写:子类、父类拥有相同的函数名、参数、返回值,//父类指针指向子类。

2024-03-21 00:17:35 508 2

原创 opencv瑕疵检测一般流程

OpenCV 的瑕疵检测通常包括以下一般流程:图像获取、图像预处理、特征提取、瑕疵检测算法、瑕疵定位、瑕疵显示或记录

2024-03-19 23:04:36 666

原创 std::sort 原来这样用,std的妙处(示例排序)

当使用std::sort对容器中的元素进行排序时,您需要提供三个参数:起始迭代器:指向要排序的范围的起始位置的迭代器。结束迭代器:指向要排序的范围的结束位置的下一个迭代器。比较函数(可选):用于定义排序顺序的比较函数或lambda表达式。

2024-03-19 23:00:05 416

原创 线程休眠会发生什么

当一个线程在C++中调用休眠函数时,该线程会暂停执行一段时间,进入睡眠状态。在线程休眠期间,它不会占用 CPU 资源,这样可以避免浪费处理器时间。

2024-03-13 21:37:08 417

原创 std::thread相比QThread,这两个那个更好

根据具体情况和需求来选择使用QThread或者直接使用原生线程

2024-03-12 20:54:48 412

原创 怎么优化线程,提高线程切换效率

减少线程数量、线程绑定、减少锁的使用、使用轻量级线程、避免频繁的线程睡眠与唤醒操作,可以有效地优化线程并提高线程切换效率。

2024-03-12 20:49:56 236

原创 windows、C++怎么看线程在哪个核上运行

要在 Windows 系统上查看线程运行在哪个处理器核心上,可以使用 Windows 系统提供的一些工具和方法。GetCurrentProcessorNumber)函数

2024-03-12 20:10:19 1001

原创 怎样设置电脑的网络适配器提高通信效率

如果您的网络适配器支持多个频段(例如2.4GHz和5GHz),确保选择最适合您使用的频段,以获得更好的性能。:确保您的网络适配器驱动程序是最新的。:您可以尝试在计算机的网络适配器设置中进行一些调整,例如启用最佳性能模式而不是默认模式。:有线连接通常比无线连接更稳定,如果可能的话,考虑使用有线连接而不是无线连接。:如果您的网络适配器可以连接天线,考虑安装天线以改善信号强度和稳定性。:确保您的网络环境是优化的,包括减少干扰、使用最短的网络线路等。:关闭一些后台运行的应用程序,以减少网络拥堵和提高通信效率。

2024-03-12 20:00:32 736 1

空空如也

空空如也

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

TA关注的人

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