自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 关于Qt中的信号与槽

信号是在特定事件发生时被发射的,而槽是在接收到信号时执行的函数。信号与槽的参数:信号与槽可以使用任意类型的参数,但要求参数类型必须可复制(可拷贝)。信号与槽的线程安全:Qt中的信号与槽机制可以实现线程间的通信。在多线程环境下,当信号被发射时,槽的执行将由所连接的槽所在的线程来执行。连接信号与槽:通过连接信号与槽,可以实现对象间的通信。连接通常在对象之间建立,在一个对象中的信号发射时,与之连接的槽将会被执行。函数需要传递信号的发送者、信号的名称、槽的接收者和槽的名称。连接类型,可以在不同的线程之间传递信号。

2024-03-15 03:12:52 389

原创 Qt是什么?

Qt的应用领域非常广泛,包括桌面应用程序、移动应用程序、嵌入式系统、游戏开发等。强大的图形界面控件:Qt提供了丰富的图形界面控件,包括按钮、文本框、标签、列表框、表格等常用控件,同时还提供了一些专用的控件,如进度条、滑块、图形视图等。丰富的功能库:Qt提供了许多功能强大的库,如网络编程库、数据库访问库、XML处理库、图形处理库等,使得开发者能够更方便地实现各种功能需求。总的来说,Qt是一款功能强大、易学易用的GUI开发工具,具有跨平台性和丰富的功能库,可以帮助开发者快速实现各种应用程序的开发。

2024-03-15 03:11:40 835

原创 STL中pair对组的使用方法

这段代码创建了一个pair对组p,元素分别为1和"Hello"。然后访问并输出了pair对组的元素。接着修改了pair对组的元素,并再次输出。最后比较了两个pair对组是否相等。在STL(标准模板库)中,pair对组是一种将两个不同的数据类型封装在一起的容器。具体来说,pair对组提供了一种简单的方式来存储和访问两个元素。pair对组的用法非常简单,需要包含"utility"头文件。

2024-03-09 23:02:49 177

原创 STL中map容器的使用方法

上述示例代码中,首先创建了一个map容器myMap,键的类型为int,值的类型为std::string。然后使用insert()函数插入了三对键值对。接下来使用at()函数和[]运算符访问了其中的元素,使用find()函数查找了一个键,使用迭代器遍历了所有的元素。最后使用erase()函数删除了一个元素,并使用empty()函数判断了map容器是否为空。它基于二叉搜索树的数据结构,通过红黑树实现,保证了键的有序性。在map中,键和值是成对存储的,并且键和值可以是任何数据类型,包括基本类型和自定义类型。

2024-03-09 23:01:22 458

原创 STL中set容器的使用方法

STL中的set容器是一个有序的容器,它存储的元素是唯一的且按照特定的顺序排列。set容器使用红黑树的数据结构来实现。注意:set容器中的元素是按照升序进行排序的,重复的元素只会在容器中保留一个副本。

2024-03-09 22:59:40 125

原创 STL中list容器的使用方法

list容器是C++标准库中的一种容器,用于存储一组元素。它是一个动态数组,可以随时添加或删除元素,并且会自动管理内存。函数删除了第二个位置的元素。最后再次使用迭代器遍历容器中的元素,输出修改后的结果为。函数向容器尾部添加了三个整数元素。接着使用迭代器遍历容器中的元素,输出结果为。函数在第二个位置插入了一个整数元素4,然后又通过。上述代码首先创建了一个空的list容器。

2024-03-09 22:58:05 145

原创 STL中queue容器的使用方法

queue(队列)是C++标准模板库(STL)中的容器之一。它是一个先进先出(FIFO)的数据结构。队列只允许在容器的一端插入元素(称为队尾),在另一端删除元素(称为队头)。以上代码创建了一个整数类型的队列,向队列中添加了三个元素,然后访问了队列的头部和尾部元素,删除了头部元素,打印了队列中的元素个数,最后检查了队列是否为空。这个例子展示了queue容器的基本用法,你可以根据自己的需求使用更多的操作方法来操作队列中的元素。要使用queue容器,需要包含头文件。

2024-03-09 22:54:23 177

原创 STL中stack容器的使用方法

deque是STL中的双端队列容器,可以在两端进行高效地插入和删除操作。这些是deque容器的一些常用方法,可以根据需要选择适合的方法进行使用和操作。

2024-03-09 22:53:10 230

原创 STL中deque容器的使用方法

deque(双端队列)是STL中的一个容器,它可以在两端进行元素的插入和删除操作,类似于vector,但相比之下deque的插入和删除操作在两端都具有更高的效率。以上代码演示了如何使用deque容器,插入和删除元素,访问元素以及遍历元素。你可以在实际的应用中根据需要使用deque容器的其他功能和特性。

2024-03-09 22:52:09 214

原创 STL中的Deque容器的使用

从输出结果可以看出,我们成功地在deque的头部和尾部插入和删除了元素,并且可以通过front()和back()函数访问deque的首尾元素。最后,我们使用empty()函数检查deque是否为空,并使用clear()函数清空了deque中的所有元素。deque(双端队列)是C++标准模板库(STL)中的一种容器,它是一种动态数组,可以在两端进行快速插入和删除操作。这段代码演示了deque的基本操作,包括插入、删除、访问和遍历元素等。

2024-03-07 19:31:55 204

原创 STL中的Vector容器的使用

Vector是C++标准库中最常用的容器之一,它提供了一种动态数组的实现,可以在运行时根据需要自动调整大小。Vector的大小可以动态地增长或缩小,使得在添加或删除元素时效率都很高。Vector还提供了许多其他功能,如在指定位置插入元素、在指定位置删除元素等。可以参考C++标准库文档或其他资料了解更多详情。Vector的使用需要包含头文件< vector >。

2024-03-07 19:30:41 309

原创 STL中的String容器的使用

在C++的STL(标准模板库)中,string容器是用于存储和操作字符串的类。它提供了许多方便的方法来处理字符串,比如插入、删除、替换和查找等。以上仅是string容器的一些基本用法,还有许多其他功能和成员函数可以使用。详细的使用方法可以参考C++的文档或教程。使用string容器需要包含头文件。

2024-03-07 19:28:19 503

原创 (C++)STL初识

STL(Standard Template Library)是C++标准库中的一个重要组成部分,提供了一系列通用的模板类和函数,用于实现常见的数据结构和算法,包括容器(如向量、链表、队列、栈、集合、映射等)、迭代器、算法(如排序、查找、替换、合并等)、函数对象和内存管理等功能。容器提供了各种常用的数据结构,如数组、链表、队列、栈、集合和映射,以及它们的变种。总体而言,STL是C++程序开发中非常重要和实用的一个工具库,它提供了丰富的数据结构和算法,可以大大简化程序开发过程,提高程序的性能和可维护性。

2024-03-07 19:26:33 129

原创 C++的泛型编程

通过定义模板类和模板函数,我们可以在编写代码时不指定具体的数据类型,而是使用模板参数来表示类型。这样一来,我们可以在不同的场景下使用相同的代码,只需要根据需要传入不同的数据类型。通过使用模板,我们可以编写通用的代码,它可以适用于不同的数据类型,同时避免了重复编写类似的代码。通过泛型编程,我们可以编写更加通用和灵活的代码,提高代码的质量和效率,减少代码的重复和冗余。C++的泛型编程是指使用模板技术来实现通用的代码,使得可以在不同的数据类型上进行操作,而无需编写针对不同类型的重复代码。

2024-03-07 19:25:16 209

原创 简单介绍一下封装

C++的封装(Encapsulation)是面向对象编程(Object-Oriented Programming)的核心概念之一,它是将数据和操作数据的函数组合在一起,形成一个类(Class)。封装的目的是隐藏数据的实现细节,并提供公共接口来访问和操作数据,以达到保护数据的目的。封装的主要思想是将数据和操作数据的函数组合在一个类中,并将数据的访问权限限制在类的内部或通过公共接口进行控制。同时,公共接口提供了一种规范化的方式来访问和操作数据,降低了代码的耦合度。,表示矩形的长度和宽度。用于计算矩形的面积,

2024-03-03 23:08:28 360

原创 多态的基本语法

当调用animal1.sound()和animal2.sound()时,实际上会根据运行时的类型来调用相应的方法,从而实现了多态的效果。编译时类型和运行时类型:编译时类型是指变量声明时的类型,运行时类型是指实际赋给变量的对象的类型。多态的关键就在于运行时类型。多态是面向对象编程的一个重要特性,它允许不同类型的对象对同一个方法做出不同的响应。通过多态,我们可以通过父类的引用来操作不同的子类对象,提高代码的可扩展性和灵活性。父类引用指向子类对象:父类的引用变量可以指向子类的对象,实现多态的关键。

2024-03-01 10:04:27 172 1

原创 菱形继承问题以及解决方法

使用虚拟继承后,菱形继承问题得到了解决,Bat类只继承了一份Animal类的成员变量和方法。可以通过实例化Bat类并调用其成员函数来验证代码的正确性。上面的示例代码中,Animal类是顶层父类,Mammal和Bird类都使用虚拟继承Animal类。最后,Bat类同时继承了Mammal和Bird类。菱形继承问题是指在一个继承关系中,子类继承了两个或多个父类,而这些父类又继承自同一个父类,从而形成了一个菱形的继承关系。解决菱形继承问题的常用方法是使用虚拟继承(virtual inheritance)。

2024-03-01 10:02:18 705 1

原创 深拷贝与浅拷贝

需要注意的是,深拷贝可能会导致性能上的开销,因为它需要复制整个对象及其所有相关对象。所以在需要拷贝大型对象或者对象之间存在复杂的关联关系时,需要谨慎使用深拷贝。浅拷贝是指复制对象时,只复制了对象的引用,而不是复制对象本身。深拷贝是指复制对象时,不仅复制了对象的引用,还复制了对象本身。从示例中可以看出,浅拷贝只复制了对象的引用,所以当原始对象发生改变时,复制对象也会发生改变。而深拷贝复制了对象本身,所以原始对象的改变不会影响到复制对象。深拷贝和浅拷贝是在编程中常用的概念,用于描述复制对象时的不同方式。

2024-02-26 19:51:29 156 1

原创 静态成员的介绍

总之,静态成员对于类的所有实例来说都是共享的,并且可以在不创建类的实例的情况下直接使用。静态成员常用于表示类的常量、工具方法或全局计数器等。静态成员是指属于一个类而不是类的特定实例的成员。它可以是静态方法、静态变量或静态常量。

2024-02-26 19:48:50 397 1

原创 构造函数与析构函数

构造函数用于初始化对象的成员变量,以确保对象创建后的可用性。而析构函数用于清理对象占用的资源,以确保对象销毁时的安全性。注意,在C++中,构造函数和析构函数可以设置为公有(public)、私有(private)或保护(protected)访问权限,以控制对象的创建和销毁。构造函数(Constructor)是在对象创建时自动调用的函数,用于初始化对象的成员变量。析构函数(Destructor)在对象销毁时自动调用,用于清理对象占用的资源。构造函数和析构函数是C++类中的特殊成员函数,用于对象的创建和销毁。

2024-02-26 14:03:22 297 1

原创 Sruct 与Class的区别

3.private 公共权限 ,类内可以访问 类外不可以访问,儿子不可以访问父亲中的保护内容;2.protected 保护权限 ,类内可以访问 类外不可以访问,儿子可以访问父亲中的保护内容;1.Public 公共权限 ,类内可以访问 类外也可以访问;Sruct 是创建一个结构体。Stuct的访问权限默认为公有;Class的访问权限默认为私有;Class 是创建一个类。

2024-02-24 18:44:04 159

原创 实现一个函数,打印乘法表,乘法表的行数和列数自己指定。如:输入9,输出9*9乘法表,输出12,输出12*12的乘法表。(并附加如何处理列对齐问题)

易知: %md:m为指定的输出字段的宽度。如果数据的位数小于m,则左端补以空格,若大于m,则按实际位数输出。注意 :无论什么表示方法,我们定义的整数的位数大于我们想输出的数字的位数,输出时仍然是自己定义的数字。实现一个函数,打印乘法表,乘法表的行数和列数自己指定。输出12,输出12*12的乘法表。,不一样的是,当我们输出的数字位数不够时,在。,多了以实际长度输出,如当实际位数多了。如:输入9,输出9*9乘法表,当输入9时,代码运行结果如下。d,结果十进制,长度为2,,多了以实际长度输出。

2024-01-30 22:14:33 303 2

原创 C语言的分支和循环语句(自用)

根据变量的值,系统会逐个检查case语句,如果找到与变量值相匹配的case语句,则执行该case语句块,并通过break语句跳出switch语句;for语句的执行过程为:首先执行初始化表达式,然后判断条件表达式的结果,如果为真,则执行循环体,并在循环体执行结束后执行更新表达式;do-while语句先执行一次循环体,然后再判断条件是否满足,如果满足,则继续执行循环体,否则结束循环。在执行循环体之前,先判断条件表达式的结果,如果为真,则执行循环体;如果条件表达式的结果为真,则执行花括号内的语句块;

2024-01-25 22:38:42 170

原创 C中随机数---Rand 的处理(附加简单猜数字游戏代码)

我们可以看到这个函数传参需要一个无符号整数,程序在调用rand函数之前先调用srand函数,通过srand函数的参数来设置rand函数生成随机数,每次生成的随机数序列也就变化起来了。rand函数会返回一个数,这个随机数的范围是在0-RAND_MAX之间,这个RAND_MAX的大小是依赖编译器上实现的,但是大部分编译器上是32767。也就是说rand函数生成的随机数其实是伪随机的,伪随机数并不是真正的随机数,是通过某种算法生成的随机数。如果time函数的参数为NULL,就返回这个时间的差值。

2024-01-24 16:47:46 1053 3

原创 记录一下,一个迷茫的19届的毕业生的经历吧

(之前学校安排了一门必修课叫做VFP,感觉已经是要被淘汰的工具了,学校不如安排个C语言,不过也成功吸引了我对计算机编程的兴趣,当时网上还流传着计算机的待遇不错,生化环材四大天坑什么的)最后决定跨考计算机,然后各种抽时间去图书馆看408的王道网课,写题;刷数学题看网课等等……家人给予的厚望也在高考后破灭,高考也没发挥好,进了个普通的二本院校巢湖学院,家人也不懂专业什么的,想着化学挺好玩稀里糊涂选了个化学专业,大一本可以有一次无门槛自由转专业的机会,我也给浪费掉了。大家好,我在这里分享一下自己的生平经历吧。

2024-01-17 22:58:02 332

空空如也

空空如也

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

TA关注的人

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