自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 VS2022下安装和配置OpenCV环境参数+QT开发环境搭建(1)

VS2022,OpenCV4.5.5版本,QT5.12.12最新版直接下载,根据需要进行下载,我下载的免费社区版本。日常开发完全够用。qt下载5.12版本。OpenCV选择Windows版本下载并解压到本地磁盘,建议路径不带中文。

2024-07-23 20:05:04 294

原创 C++进阶——回调函数详解

总之,所谓回调函数就是把函数当作参数使用。目的是使程序更加普适(正如活字印刷,把可能会“变”的字一个个分离开来,这样就可以任意组合,重复利用)。一般情况下,一个人的小规模程序用不着这种普适性,除非你想把它做成工具箱(比如游戏引擎),供他人使用。

2024-07-10 10:08:51 285

原创 STL——常用算法(二)

【代码】STL——常用算法(二)

2024-06-25 22:35:39 319

原创 STL——常用算法(一)

【代码】STL——算法(一)

2024-06-24 22:03:43 105

原创 STL——函数对象,谓词

概念:重载函数调用操作符的类,其对象常称为函数对象。函数对象使用重载的()时,行为类似函数调用,也叫仿函数。本质:函数对象(仿函数)是一个类,不是一个函数。

2024-06-22 22:04:48 1234

原创 STL——mulitimps容器

erase()函数删除在pos位置的元素,或者删除在start和end之间的元素,或者删除那些值为key的所有元素。equal_range()函数查找multimap中键值等于key的所有元素,返回指示范围的两个迭代器。empty()函数返回真(true)如果multimap为空,否则返回假(false)。count()函数返回multimap中键值等于key的元素的个数。max_size()函数返回multimap能够保存的最大元素个数。size()函数返回multimap中保存的元素个数。

2024-06-19 21:53:36 901

原创 STL——set容器

在当前集合中查找等于key值的元素,并返回指向该元素的迭代器;● 在当前集合中插入val元素,并返回指向该元素的迭代器和一个布尔值来说明val是否成功的被插入了。(应该注意的是在集合(Sets)中不能插入两个相同的元素。● 删除等于key值的所有元素(返回被删除的元素的个数)。返回一个指向大于或者等于key值的第一个元素的迭代器。在当前集合中返回一个指向大于Key值的元素的迭代器。返回指向当前集合中最后一个元素的反向迭代器。返回当前集合中出现的某个值的元素的数目。返回指向当前集合中最后一个元素的迭代器。

2024-06-16 19:31:45 772

原创 STL——list容器

insert()插入元素val到位置pos,或者插入num个元素val到pos之前,或者插入start到end之间的元素到pos的位置。assign()函数以迭代器start和end指示的范围为list赋值或者为list赋值num个以val为值的元素。如果pr返回true则删除该元素。empty()函数返回真(true)如果链表为空,否则返回假。back()函数返回一个引用,指向list的最后一个元素。front()函数返回一个引用,指向链表的第一个元素。pop_back()函数删除链表的最后一个元素。

2024-06-15 21:38:36 627

原创 STL——map

equal_range()函数返回两个迭代器——一个指向第一个键值为key的元素,另一个指向最后一个键值为key的元素。erase()函数删除在pos位置的元素,或者删除在start和end之间的元素,或者删除那些值为key的所有元素。empty()函数返回真(true)如果map为空,否则返回假(false)。value_comp()函数返回一个比较元素value的函数。count()函数返回map中键值等于key的元素的个数。key_comp()函数返回一个比较key的函数。指向map的第一个元素。

2024-06-14 20:52:07 575

原创 STL——Stacks容器

top() 函数返回对栈顶元素的引用. 举例,如下代码显现和清空一个堆栈。所有的这些操作可以被用于堆栈. 相等指堆栈有相同的元素并有着相同的顺序。size() 函数返当前堆栈中的元素数目。如当前堆栈为空,empty() 函数 返回。值压栈,使其成为栈顶的第一个元素。pop() 函数移除堆栈中最顶层元素。push() 函数将。

2024-06-11 19:01:03 330

原创 STL——queues,priority queues容器

语法:&back();back()返回一个引用,指向队列的最后一个元素。语法:empty()函数返回真(true)如果队列为空,否则返回假(false)。语法:&front();front()返回队列第一个元素的引用。语法:void pop();pop()函数删除队列的一个元素。语法:&val );push()函数往队列中加入一个元素。语法:size()返回队列中元素的个数。

2024-06-11 18:58:11 422

原创 STL——string容器

语法:string();例如,显示:ccccctime。

2024-06-06 14:48:56 931

原创 STL——Vector容器

assign() 函数要么将区间[start, end)的元素赋到当前vector,或者赋num个值为val的元素到vector中.这个函数将会清除掉为vector赋值以前的内容.=, =, . 要访问vector中的某特定位置的元素可以使用 [] 操作符.reserve()函数为当前vector预留至少共容纳size个元素的空间.(译注:实际空间可能大于size)max_size() 函数返回当前vector所能容纳元素数量的最大值(译注:包括可重新分配内存).

2024-06-05 15:38:08 715

原创 STL——初识STL

1. 容器:各种数据结构,如vector、list、deque、set、map等,用来存放数据。STL大体分为六大组件,分别是:容器、算法、迭代器、仿函数、适配器(配接器)、空间配置器。提供一种方法,使之能够依序寻访某个容器所含的各个元素,而又无需暴露该容器的内部表示方式。非质变算法:是指运算过程中不会更改区间内的元素内容,例如查找、计数、遍历、寻找极值等等。2. 算法:各种常用的算法,如sort、find、copy、for_each等。序列式容器:强调值的排序,序列式容器中的每个元素均有固定的位置。

2024-06-04 14:45:49 305

原创 C++基础——类模板

主要描述的是模板,这个模板是类的模板。可以理解为一个通用的类,这个类中的数据成员,成员函数的形参类型以及成员函数的返回值类型不用具体的指定,这些类型都是虚拟的。在使用类模板进行对象定义的时候,才会根据对象的实际参数类型来替代类模板中的虚拟类型。主要描述的是类,这个类使用类模板进行声明。将类模板中的虚拟类型参数指定成一个具体的数据类型参数。类模板中的成员函数并不是一开始就创建的,在调用时才去创建。1. 指定传入的类型 --- 直接显示对象的数据类型。通过类模板创建的对象,可以有三种方式向函数中进行传参。

2024-05-28 13:37:19 371

原创 C++基础——函数模板

模板体现了泛型编程,泛型编程是编写与类型无关的通用代码,是代码复用的一种手段。模板是泛型编程的基础。在学习泛型编程之前,我们回忆一下怎么实现两个整形,浮点型,字符型的数据交换。因此,C++为了更好的处理这种问题,达到泛型编程的目的,引入了一个概念---模板;

2024-05-21 18:15:00 1010

原创 C++基础——文件

文件这方面的知识点比较少,达到的效果是“会用就好”,没必要在文件方面下太大功夫。接下来我们介绍两类文件。

2024-05-21 08:00:00 329

原创 输入输出系统

外部设备大致分三类:1)人机交互设备 键盘,鼠标,打印机,显示器2)计算机信息存储设备 磁盘,磁带,光盘3)机——机通信设备 调制解调器等1)查询流程保存寄存器内容。

2024-05-20 19:38:58 610

原创 ThingML的学习——在ecplise里面配置maven

前置工作:1.在ecplise里面配置maven之前,首先需要在windows里面下载maven。2.配置环境变量3.修改maven配置文件(最好改为阿里云)1.配置Java环境,需要jdk版的(jar不行)以上不在这里面详细介绍,网上的资料有很多,大家可自己查询。

2024-05-20 07:54:17 187

原创 C++基础——多态(下)

答案:16bytes为什么会是16呢,指针是8bytes。一个含有虚函数的类中都至少都有一个虚函数表指针,因为虚函数的地址要被放到虚函数表中,虚函数表也简称虚表。那么派生类中这个表放了些什么呢?

2024-05-19 15:00:00 735

原创 thingML的学习——什么是thingML

该框架可以将ThingML模型转换成各种语言的完全可操作的代码。目前支持的语言包括C、C++、Java和JavaScript等。该框架由一组代码生成器组成,每个生成器负责编译特定子集的ThingML。这个模块化结构允许对一些扩展点进行自定义,而其他的则可以直接使用。在该框架中有10个不同的扩展点,分为两个组:用于生成“事物”的代码和用于生成配置(或应用程序)的代码。这些扩展点通过接口或抽象类的形式存在于代码生成框架中,并包含了一组方法来生成与给定元素相关的代码。

2024-05-19 09:17:49 736

原创 物联网系统

物联网(Internet of Things,IoT)是指将各种物理设备(如传感器、执行器、嵌入式系统等)通过互联网连接起来,并通过云计算系统实现数据的收集、存储、处理和分析的技术和概念。这些物理设备可以是各种形式的,包括传统的家用电器、工业机器、汽车、医疗设备、智能手机等,它们通过传感器和网络连接收集和交换数据,从而实现智能化、自动化和远程控制等功能。这些物理对象中放置的物联网设备主要分为两类,一类是交换器(用于向其他对象发送命令),另一类是传感器(用于收集数据并发送出去)。

2024-05-18 09:52:01 819 1

原创 C++基础——多态(上)

C++的多态必须满足两个条件:1 必须通过基类的指针或者引用调用虚函数2 被调用的函数是虚函数,且必须完成对基类虚函数的重写子类虚函数可以不写 virtual (实际中最好加上),但是父类虚函数必须写 virtual,才能满足虚函数重写;返回值可以不同,但必须是父子关系的指针或者引用 (在这里的父子没有限制,可以是其他的父子关系),这也称之为协变;class Person //成人public:cout << "全价票" << endl;//成人票全价。

2024-05-17 19:31:05 613

原创 C++基础——继承(下)

1.很多人说C++语法复杂,其实多继承就是一个体现。有了多继承,就存在菱形继承,有了菱形继承就有菱形虚拟继承,底层实现就很复杂。所以一般不建议设计出多继承,一定不要设计出菱形继承。否则在复杂度及性能上都有问题。2.多继承可以认为是C++的缺陷之一,很多后来的语言都没有多继承,如Java第一种方式C++98,将基类的构造私有化,派生类继承这个基类,在实例化对象时,需要调用基类的构造,但由于基类的构造已经私有化,故会编译报错。

2024-05-15 22:32:05 1027

原创 C++基础——继承(上)

基类 private 成员在派生类中无论以什么方式继承都是不可见的。这里的不可见指的是基类的私有成员虽然被继承到了派生类对象中,但是语法上限制了派生类对象访问它,无论是在派生类的类内还是类外,都无法访问;如果基类成员不想让派生类在类外访问,但需要让派生类类内可以访问,那么该基类成员就可以定义为 protected,可以看到,protected 在继承角度有着很大的存在意义;

2024-05-14 13:14:28 923

原创 C++基础——运算符重载

运算符重载实质还是一个。通过重载运算符,可以让类在一些场景下使用起来更加方便。

2024-05-12 15:39:23 270

原创 C++基础——友元

程序员可以把一个全局函数、某个类中的成员函数、甚至整个类声明为友元。友元语法:1.friend关键字只出现在声明处2.其他类、类成员函数、全局函数都可声明为友元3.友元函数不是类的成员,不带this指针4.友元函数可访问对象任意成员属性,包括私有属性。

2024-05-11 20:49:56 175

原创 C++基础——this指针

c++规定,this指针是隐含在对象成员函数内的一种指针。当一个对象被创建后,它的每一个成员函数都含有一个系统自动生成的隐含指针this,用以保存这个对象的地址,也就是说虽然我们没有写上this指针,编译器在编译的时候也是会加上的。因此this也称为“指向本对象的指针”,this指针并不是对象的一部分,不会影响sizeof(对象)的结果。this指针是C++实现封装的一种机制,它将对象和该对象调用的成员函数连接在一起,在外部看来,每一个对象都拥有自己的函数成员。指针是隐含每一个非静态成员函数内的一种指针。

2024-05-10 17:23:55 260

原创 C++进阶——浅谈隐式转化

概念:就是当你只有一个类型T1,但是当前表达式需要类型为T2的值,如果这时候T1自动转换为了T2,那么这就是隐式类型转换。接下来看两个例子,首先是最常见的混用数值类型int a = 0;// int 转换为 longif(a == b)// 默认的operator==需要a的类型和b相同,因此也发生转换int转成long是向上转换,通常不会有太大问题,而long到int则很可能导致数据丢失,因此要尽量避免后者。第二个例子是自定义类型到标量类型的转换。

2024-05-08 18:02:20 710

原创 C++基础——深拷贝和浅拷贝

C++中类的拷贝有两种:深拷贝,浅拷贝:当出现类的等号赋值时,即会调用拷贝函数。

2024-05-07 13:10:09 213 1

原创 C++基础——构造函数和析构函数

当我们创建对象的时候,这个对象应该有一个初始状态,当对象销毁之前应该销毁自己创建的一些数据。对象的初始化和清理也是两个非常重要的安全问题,一个对象或者变量没有初始时,对其使用后果是未知,同样的使用完一个变量,没有及时清理,也会造成一定的安全问题。c++为了给我们提供这种问题的解决方案,和,这两个函数将会被编译器自动调用,完成对象初始化和对象清理工作。

2024-05-06 17:24:36 175

原创 C++基础——命名空间

在一段C++代码中,我们会看到using namespace std;这一串代码,那么这一串代码表示什么?namespace是指标识符的各种可见范围。命名空间用关键字namespace 来定义。命名空间是C++的一种机制,用来把单个标识符下的大量有逻辑联系的程序实体组合到一起。此标识符作为此组群的名字。

2024-05-05 19:27:31 239

原创 存储器(下)——高速缓冲存储器(Cache),辅助存储器

避免CPU空等现象CPU和主存(DRAM)的速度差异用来保存程序,数据,文档,映像资料,不直接与 CPU 交换信息。如果想要调用,那就先调入到主存储器。

2024-05-04 16:25:37 409 1

原创 存储器(上)——主存储器,ROM,RAM

1)按存储介质分类1))半导体存储器 TTL,MOS 易失2))磁表面存储器 磁头、磁载体 非易失3))磁芯存储器 硬磁材料、环状元件 非易失4))光盘存储器 激光、磁光材料 非易失2)按存取方式分类1))存取时间与物理地址无关(随机访问)随机存储器 在程序执行过程中可读可写只读存储器 在程序的执行过程中只读2))存取时间与物理地址有关(串行访问)顺序存取存储器 磁带直接存取存储器 磁盘3)按在计算机中的作用分类。

2024-05-03 17:17:22 872 1

原创 c++基础——函数高级

基本类型(int char double)和枚举类型一般用值传递结构体, 类的对象一般用指针或引用传递数组类型一般用指针传递小技巧: 当函数参数超过7个以上, 比较多的时候, 可以把它封装在一个结构体中然后传指针或引用。

2024-05-02 16:54:51 371

原创 C++进阶——内存四区详解

栈是机器系统提供的数据结构,计算机会在底层对栈提供支持:分配专门的寄存器存放栈的地址,压栈出栈都有专门的指令执行,这就决定了栈的效率比较高。堆则是 C/C++ 函数库提供的,它的机制是很复杂的,例如为了分配一块内存,库函数会按照一定的算法(具体的算法可以参考数据结构/操作系统)在堆内存中搜索可用的足够大小的空间,如果没有足够大小的空间(可能是由于内存碎片太多),就有可能调用系统功能去增加程序数据段的内存空间,这样就有机会分到足够大小的内存,然后进行返回。堆都是动态分配的,没有静态分配的堆。

2024-04-28 15:35:36 449

原创 常用正则表达式

24 备注:这就是最终结果了,别忘了”+”可以用”*”替代如果你觉得空字符串也可以接受的话(奇怪,为什么?)最后,别忘了在用函数时去掉去掉那个反斜杠,一般的错误都在这里。(包括汉字在内,可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1))(可以用来删除行首行尾的空白字符(包括空格、制表符、换页符等等),非常有用的表达式)(网上流传的版本太糟糕,上面这个也仅仅能部分,对于复杂的嵌套标记依旧无能为力)11 可以输入含有^%&’,;

2024-04-27 16:58:38 613

原创 正则表达式

正则表达式是一组由字母和符号组成的特殊文本,它可以用来从文本中找出满足你想要的格式的句子。一个正则表达式是一种从左到右匹配主体字符串的模式,常使用缩写的术语“regex”或“regexp”。正则表达式是一组由字母和符号组成的特殊文本,它可以用来从文本中找出满足你想要的格式的句子。一个正则表达式是一种从左到右匹配主体字符串的模式,常使用缩写的术语“regex”或“regexp”。例子:寻找3到15字符数a-z,0-9的字符串。

2024-04-26 15:24:32 791 1

原创 系统总线(看这一篇就够了)

总线是连接各个部件的信息传输线,是各个部件共享的传输介质。

2024-04-25 17:05:20 1976 3

原创 C++基础——引用

引用变量是一个别名,也就是说,它是某个已存在变量的另一个名字。一旦把引用初始化为某个变量,就可以使用该引用名称或变量名称来指向变量。

2024-04-23 11:35:18 253

空空如也

空空如也

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

TA关注的人

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