- 博客(312)
- 收藏
- 关注
原创 【Windows】系统中关闭防火墙、更新等设置的实用工具与操作方法
【Windows】系统中关闭防火墙、更新等设置的工具用法在 Windows 操作系统里,有几个重要的工具对于我们进行系统相关设置起着关键作用,它们是regedit” 对应的” 代表的gpedit.msc” 所指的” 的接下来,我们将借助这些工具,来了解关闭 Windows Firewall 防火墙、禁用 Windows Defender 防间谍软件、关闭 Windows Update 更新等常见系统设置的具体操作方法。
2025-03-17 11:11:36
1111
原创 【Visual Studio】环境搭建及基本使用,包括项目创建、常用快捷键、美化、项目启动、添加文件等多种基础操作
VS会自动创建3个筛选器(filter,图标左下角带有漏斗形状),即头文件、源文件、资源文件。筛选器并不对应真实的物理存储结构,仅是逻辑上的分类,便于阅读而已。例:VS中显示某项目有三个筛选器,但是在工程目录(选中项目名,右键单击。Release称为发布版本,不包含调试信息,并且对代码做了优化,使得程序在代码大小和速度上都是最优的,Release目录下生成。在哪个文件夹中添加哪种类型的文件无关紧要,这仅仅是为了便于我们阅读,在。模式下,要启动的项目名会以加粗显示,可选中项目名,右键单击。
2025-03-17 11:08:42
1061
原创 【C++20】关键字全解析(96)
关键字配合使用,用于更精细地控制原子操作的行为,不过使用场景相对较专业和特定,例如在一些复杂的并发控制逻辑中,当涉及到对原子操作的事务性处理(类似数据库中的事务概念,需要保证一组操作要么全部成功要么全部失败)时可能会用到这些关键字,具体的使用方式和语义依赖于具体的标准库实现以及应用场景,目前应用相对不是那么广泛。类一起使用,可以用来判断对象的实际类型,在运行时进行类型识别等操作,不过要注意它是基于对象的动态类型(即实际的对象类型,在多态情况下可能和指针或引用的声明类型不同)来获取信息的。
2025-03-03 09:56:11
1093
原创 学生信息管理系统代码优化(C++)
Grade.hGrade.hStudent类和Class类,它们分别用于描述学生个体信息以及班级内学生信息的集合管理,为后续功能实现搭建了数据结构框架。// 班级类public:// 班级唯一标识符,用于区分不同班级// 指向班级内学生链表的头指针,通过链表结构存储班级中的学生信息// 指向下一个班级的指针,可用于构建班级链表,便于多个班级信息的串联管理// 构造函数// 添加学生// 打印所有学生// 统计班级学生平均分该类主要用于管理班级层面的学生信息相关操作,通过。
2025-03-03 09:53:20
721
原创 【C++STL标准模板库】四、算法
算法主要是由头文件组成。是所有STL头文件中最大的一个,其中常用的功能涉及到比较,交换,查找,遍历,复制,修改,反转,排序,合并等…体积很小,只包括在几个序列容器上进行的简单运算的模板函数。定义了一些模板类,用以声明函数对象。
2025-02-13 09:23:33
647
原创 【C++STL标准模板库】三、常用容器
二在于deque没有容量的概念,因为它是动态的以分段连续空间组合而成,随时可以增加一段新的空间并链接起来,换句话说,像vector那样,“旧空间不足而重新配置一块更大空间,然后复制元素,再释放旧空间”这样的事情在deque身上是不会发生的。这在vector是不成立的,因为vector的插入操作可能造成记忆体重新配置,导致原有的迭代器全部失效,甚至List元素的删除,也只有被删除的那个元素的迭代器失效,其他迭代器不受任何影响。而且,对于任何位置的元素插入或元素的移除,list永远是常数时间。
2025-02-13 09:21:29
766
原创 【C++STL标准模板库】二、STL三大组件
从技术角度来看,容器和算法的泛型化并不困难,C++的class template和function template可分别达到目标,如何设计出两这个之间的良好的胶着剂,才是大难题。STL收录的算法经过了数学上的效能分析与证明,是极具复用价值的,包括常用的排序,查找等等。常用的数据结构:数组(array),链表(list),tree(树),栈(stack),队列(queue),集合(set),映射表(map),根据数据在容器中的排列特性,这些数据分为序列式容器和关联式容器两种。算法,问题之解法也。
2025-02-04 20:33:22
581
原创 【C++STL标准模板库】一、STL概述
长久以来,软件界一直希望建立一种可重复利用的东西,以及一种得以制造出“可重复运用的东西”的方法,让程序员的心血不至于随时间的迁移、人事异动而烟消云散,从函数(functions),类别(classes), 函数库(function libraries), 类别库(class libraries)、各种组件,从模块化设计,到面向对象(object oriented ),为的就是复用性的提升。复用性必须建立在某种标准之上。
2025-02-04 20:33:05
464
原创 【C++面向对象】七、结构体、模板
在C++中,还有一种用户自定义的数据类型,结构体。结构体的定义与使用基本与类相同。// 定义结构体// 结构体中定义的属性int age;// 结构体中的构造函数name = "";age = 0;// 结构体中的函数cout
2025-01-06 09:35:58
1116
原创 【C++面向对象】六、封装、继承和多态
生活中的多态,是指的客观的事物在人脑中的主观体现。例如,在路上看到一只哈士奇,你可以看做是哈士奇,可以看做是狗,也可以看做是动物。主观意识上的类别,与客观存在的事物,存在is a的关系的时候,即形成了多态。在程序中,一个类的引用指向另外一个类的对象,从而产生多种形态。当二者存在直接或者间接的继承关系时,父类引用指向子类的对象,即形成多态。多态是面向对象三大特性之一,记住继承是多态的前提,如果类与类之间没有继承关系,也不会存在多态。
2025-01-06 09:35:40
1081
原创 【C++面向对象】五、运算符重载
运算符重载,就是对已有的运算符重新进行定义,赋予其另一种功能,以适应不同的数据类型。运算符重载(operator overloading)只是一种“语法上的方便”,也就是它只是另一种函数调用的方式。在c++中,可以定义一个新的运算符来处理类的数据。这种定义很像一个普通的函数定义,只是函数的名字由关键字operator及其紧随的运算符组成。差别仅此而已。它像其他函数一样也是一个函数,当编译器遇到适当的模式时,就会调用这个函数。
2025-01-01 17:10:04
532
原创 【C++面向对象】四、友元
比如你的家,有客厅,有你的卧室,那么你的客厅是Public的,所有来的客人都可以进去,但是你的卧室是私有的,也就是说只有你能进去,但是呢,你也可以允许你的闺蜜好基友进去。类的主要特点之一是数据隐藏,即类的私有成员无法在类的外部(作用域之外)访问。但是,有时候需要在类的外部访问类的私有成员,怎么办?解决方法是使用友元函数,友元函数是一种特权函数,C++允许这个特权函数访问私有成员。程序员可以把一个全局函数、某个类中的成员函数、甚至整个类声明为。
2025-01-01 17:08:35
336
原创 【C++面向对象】三、this指针
使用关键字const修饰的函数,叫做常函数。常函数中,不允许修改属性的值。常函数中,不允许调用其他的普通函数。如果想要在常函数中修改某个属性的值,需要将这个属性设置为mutable。// 修饰为可变的,这个属性可以在常函数中进行修改// 定义常函数// 这里会出错,不允许在常函数中修改普通属性的值// 这里会出错,不允许在常函数中修改普通属性的值// 这里可以正常修改,因此此时的score已经被修饰为mutabletest();
2024-12-04 10:17:37
456
原创 【C++面向对象】二、构造与析构
构造函数,是一个比较特殊的函数。我们在使用一个类的对象的时候,需要为其分配空间。空间分配完成之后,我们一般都会对创建的对象的属性进行初始化的操作。而这个过程就可以在构造函数中来完成了。因此:构造函数是一个函数,是在对象创建的时候触发,用来对对象的属性进行初始化的赋值操作。构造函数的名字,必须和类的名字相同!构造函数不能写返回值类型!构造函数可以有不同的重载!public:// 这就是一个无参的构造函数Person() {cout
2024-12-04 10:17:12
1037
原创 【C++面向对象】一、面向对象介绍 和 类的设计与对象的创建
面向过程是一种看待问题、解决问题的思维方式,着眼点在于问题是如何一步步解决的,然后亲力亲为地解决问题。面向对象是一种看待问题、解决问题的思维方式,着眼点在于找到一个能够帮助解决问题的实体,然后委托这个实体来解决问题。我们在定义类中的属性的时候,可以定义int类型、float类型、字符串类型等等,那么能不能定义为另外的一个类的类型呢?可以的!类其实也是一种自定义的复杂的数据类型。public:cout
2024-12-03 14:45:44
1067
原创 【C++基础编程】七、数组
数组其实就是一个数据容器,里面可以存储若干个相同的数据类型的数据。小案例:现在有100个学生的成绩需要存储,那么怎么存储呢?以我们现有的知识储备来说,可以定义100个变量来存储这些数据,但是这样是非常麻烦的,重复的操作特别多。而且,如果我需要对这些成绩进行批量的操作呢?例如,我需要将这些成绩都加1分?如果我们使用100个变量来存储的话,那么需要依次修改每一个变量的值,这是一个很大的工作量。。。那么有没有一个比较简单的方式呢?数组!我们可以把这100个成绩存入一个数组中存储起来!
2024-12-03 14:45:23
1080
原创 【C++基础编程】六、指针与引用
我们在前面的代码中定义了一些变量,其实定义变量就是在内存中开辟了一块指定大小的空间,空间开辟的大小取决于不同的数据类型所占用的空间大小。并且可以在这样的空间中进行值的填充。那么指针是什么呢?每一个开辟中的内存空间,都是有一个唯一的地址的,而这样的地址我们就称为是“指针”。
2024-11-09 11:22:47
1175
原创 【C++基础编程】五、函数
函数,指一段可以直接被另一段程序或代码引用的程序或代码。一个较大的程序一般应分为若干个程序块,每一个模块用来实现一个特定的功能。所有的高级语言中都有子程序这个概念,用子程序实现模块的功能。面向过程语言中,整个程序就是由函数(相互调用)组成的面向对象语言中,函数是类的组成部分,整个程序是由很多类组成的通俗讲,函数就是解决某件事情的办法,比如 我要上班,可以选择 步行,骑车,开车,公共交通,而每一个方式,在程序中就可能是一个函数。函数在定义完成之后,其中的代码并不会自动的执行。
2024-11-09 11:21:25
847
原创 【C++基础编程】四、流程控制
我们之前在写代码,执行代码的时候,发现写的代码都是一行一行的执行的。这种执行的结构称为“顺序结构”,除了这种结构之外,还有其他的执行结构。程序执行结构结构的描述描述图顺序结构代码从上往下,依次执行。分支结构程序在某一个节点遇到了多种向下执行的可能性,根据条件,选择一个分支继续执行。循环结构某一段代码需要被重复执行多次。
2024-11-08 17:46:00
923
原创 【C++基础编程】三、运算符
但与此同时,赋值运算符与上述的算术运算符类似,也是有运算的结果的。将参与运算的每一个数字计算出补码,对补码中的每一位进行类似于逻辑运算的操作,1相当于True,0相当于False。此外,程序员都可会偷懒了,在赋值运算符的基础上,又结合了常用的计算,衍生出来了其他的组合的运算符。++、–是自增自减运算符,表示在现有的值的基础上,对数据进行+1和-1的操作。在C++中的赋值运算符是=,可以将等号右边的值,给等号左边的变量进行赋值。以 += 为例,表示将一个变量,在现有的值的基础上进行加法的计算。
2024-11-08 17:45:42
914
原创 【C++基础编程】二、C++数据类型
/ 整型// 浮点型// float类型最好在字面量的后面添加f// 布尔型// 字符型// 字符需要包含在一对单引号里面// 字符串类型// 字符串需要包含在一对双引号里面return 0;宏定义在C++中是一个比较特殊的命令,它可以在一定程度上方便开发人员的程序设计过程。但是很多的初学者因为不能很好的去理解宏定义,不明白本质是什么,因此在使用宏定义的时候经常会出现问题。宏定义,就是在文件的头部,使用#define来定义一个标识符,用来描述一个字符串。
2024-10-25 09:32:22
1187
原创 【C++基础编程】一、初识C++
在我们正式开始学习 C++之前,需要对计算机的一些理论基础有一定的认知。而进制就是这样的基础,因此我们需要先学习进制。我们知道在计算机的世界中,只有 0和1 两个数字,那么其他的数据该如何去表示呢?进制也就是进位计数制,是人为定义的带进位的计数方法(有不带进位的计数方法,比如原始的结绳计数法,唱票时常用的“正”字计数法,以及类似的 tally mark 计数)。对于任何一种进制——X 进制,就表示每一位置上的数运算时都是逢 X 进一位。
2024-10-25 09:31:59
1159
原创 【pip】 的换源(临时换源和永久换源)
显然不是一个一劳永逸的方法,只有下少量包的时候有使用的场景,下面我要介绍永久换源的方法,通过这个方式换源,那么以后我们下载的包就可以全部从这个url中下载了,这样大大减轻了我们的工作量,明显比临时换源的方法更好。https://pypi.org/simple,这个源在国内的下载速度是很慢的,所以我们为了提高包的下载速度我们可以通过换源来实现。下载python中的Django包,这里使用的是豆瓣源。中修改上面第二步的内容;进入文件新增/修改内容;永久换源(更换默认源)四、Windows换源。
2024-10-24 10:02:42
3322
原创 【Python 报错】SyntaxError: (unicode error) ‘unicodeescape‘ codec can‘t decode bytes in position 602-603
路径指定中的转义字符问题:确保路径字符串前加上r来使用原始字符串,避免 Python 解释器对路径中的反斜杠进行转义。多行字符串中的 Unicode 转义序列问题:确保 Unicode 转义序列完整且正确地定义,并且理解'''和"""用于定义多行字符串而非注释。通过以上方法,您可以避免因路径指定中的转义字符或多行字符串中的 Unicode 转义序列而导致的。希望这篇文章对您有所帮助!如果您在实际编程过程中遇到其他相关问题,或者需要进一步的帮助,请随时提问!
2024-09-21 20:47:20
3556
1
原创 如何使用 Python 发送带附件的电子邮件
在之前的系列文章中,我们已经讨论了如何配置和使用 SMTP 与 IMAP 服务来发送和接收电子邮件,并提供了如何在 Gmail 和 QQ 邮箱中启用这些服务的具体步骤。在这篇文章中,我们将详细介绍如何使用 Python 的smtplib模块以及email库来构建和发送带有附件的电子邮件。
2024-09-21 20:46:57
1148
原创 如何在QQ邮箱中启用 SMTP/IMAP 服务
4.在“POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务”选项下,将IMAP/SMTP服务开启。提示:若IMAP/SMTP已开启,直接点击生成授权码,使用授权码登录第三方客户端。2.电脑登录https://mail.qq.com/,点击设置。6.将收取选项从最近30天改为全部,并勾选以下三个选项。5.通过短信/密保验证方式获得授权码,并记住此授权码。1.使用电脑,打开浏览器。
2024-09-20 09:38:18
12457
原创 如何配置 谷歌Gmail邮箱 开启SMTP/IMAP服务流程
首先你要弄懂一个概念,谷歌账号是谷歌账号,不一定你的谷歌账号就是用Gmail邮箱注册的,谷歌账号可以是QQ邮箱或者国内什么其他邮箱注册的。你要开通谷歌Gmail邮箱就必须确保你已经有Gmail邮箱了。其实很好理解的,不太明白的朋友们多看几遍我上面说的话,慢慢就明白了。那谷歌邮箱的注册地址我放在这里:Gmail注册关于Gmail邮箱用什么端口,SMTP地址是多少,我接下来会一点点讲清楚,接着往下看。
2024-09-20 09:37:56
9111
4
原创 SMTP/IMAP服务
POP3 (Post Office Protocol - Version 3)协议用于支持使用电子邮件客户端获取并删除在服务器上的电子邮件。IMAP (Internet Message Access Protocol)协议用于支持使用电子邮件客户端交互式存取服务器上的邮件。SMTP (Simple Mail Transfer Protocol)协议用于支持使用电子邮件客户端发送电子邮件。
2024-09-19 16:05:04
1078
原创 【FlyMCU】串口下载烧录程序
FlyMCU 是一款基于STM32微控制器的开发板,它通常被设计用于教学和开发目的。这个名字中的“Fly”可能是指这款开发板的灵活性和易用性,而“MCU”则是Microcontroller Unit(微控制器单元)的缩写。
2024-09-19 16:04:37
740
原创 【STM32 ST-LINK Utility】工具使用和如何编译HEX和BIN文件
STM32 ST-LINK Utility 是一款由意法半导体(STMicroelectronics)提供的软件工具,用于配合ST-LINK编程器/调试器硬件设备,以实现对STM32系列微控制器的编程和调试。这款工具类似于J-Link工具对于J-Link编程器的作用。代码烧写:可以直接下载HEX文件或BIN文件到STM32微控制器的闪存中。代码加密:可以对下载的代码进行读保护,防止未经授权的读取。批量生产:在产品批量生产阶段,可以快速高效地进行代码烧写。数据读取。
2024-09-18 09:36:46
2736
原创 【MicroPython】开发环境搭建【Thonny】软件安装及【flash_download_tool】固件下载烧录(C 模块)
Thonny是一种免费且开源的集成开发环境(IDE),特别设计用于Python编程的教学和学习。它旨在帮助初学者更容易地入门编程,同时也适合有一定经验的程序员使用。Thonny支持多种版本的Python,包括标准Python和MicroPython,这使得它成为学习和开发微控制器项目的好工具。代码高亮与调试:Thonny提供了语法高亮和基本的调试功能,如设置断点、单步执行和查看变量值,这有助于理解代码的执行流程和调试错误。实时反馈:当代码运行时,Thonny会实时显示控制台输出,便于观察程序的运行状态。
2024-09-18 09:35:56
729
原创 【VSCode】安装 【ESP-IDF】插件及【ESP32-S3】新建工程和工程配置
一、搭建基础工程二、基础工程的文件架构解析三、调试相关工具介绍1、串口下载2、JTAG 下载与调试四、工程的文件架构解析五、基础工程配置
2024-07-19 18:44:11
6534
13
原创 【Espressif-ESP32S3】【VScode】安装【ESP-IDF】插件及相关工具链
一、ESP-IDF简介一、ESP-IDF简介二、VScode安装ESP-IDF插件三、安装ESP-IDF、ESP-IDF-Tools以及相关工具链。
2024-07-17 19:37:00
1749
原创 【Arduino IDE】安装及开发环境、ESP32库
一、Arduino IDE下载二、Arduino IDE安装三、ESP32库四、Arduino-ESP32库配置五、新建ESP32-S3N15R8工程文件乐鑫官网Arduino官方下载地址Arduino官方社区Arduino中文社区ESP-IDF、MicroPython和Arduino是三种不同的开发框架,各自适用于不同的场景和用户群体,下面我将从用户领域、优缺点等方面来详细阐述它们的区别:选择ESP-IDF、MicroPython还是Arduino主要取决于你的项目需求、个人技能和偏好。如果
2024-07-17 14:27:16
10674
3
原创 移远EC600S-CN【MQTT】接入阿里云
EC600S-CN 的MQTT指令支持阿里云、移动OneNET、华为IoT三种云平台,可实现快速接入,AT指令的操作步骤简单,有助于用户快速开发。
2024-07-16 09:42:31
1159
原创 【Visual Studio Code】本地提交到【Gitee】远程仓库
一、VScode和Git 安装及环境搭建一、VScode和Git 安装及环境搭建【VScode】安装配置、插件及远程SSH连接【VSCode】自定义配置【Git】安装与常用命令【Git】远程仓库【Git】命令大全二、创建仓库三、VScode提交代码到远程仓库。
2024-07-16 09:36:00
2050
原创 【Git】命令大全
git configgit clonegit initgit statusgit remotegit branchgit addgit commitgit fetchgit mergegit diffgit pullgit pushgit loggit resetgit revertgit taggit mvgit rmgit config配置 Git 的相关参数。etcgitconfiggit clone从远程仓库克隆一个版本库到本地。git init。
2024-07-15 17:48:52
694
原创 【Git】在Idea中使用Git
安装好IntelliJ IDEA后,如果Git安装在默认路径下,那么idea会自动找到git的位置,如果更改了Git的安装位置则需要手动配置下Git的路径。2、每一位组员从远程仓库克隆项目到idea中,这样每位同学在自己电脑上就有了一个工作副本,可以正式的开始开发了。4、组员A和组员B修改了同一个文件的同一行,提交到本地没有问题,但是推送到远程仓库时,后一个推送操作就会失败。3、组员A修改工作区,提交到本地仓库,再推送到远程仓库。解决方法:需要先获取远程仓库的代码到本地仓库,编辑冲突,提交并推送代码。
2024-07-15 17:45:09
5979
1
原创 【Git】远程仓库
常用代码托管服务GitHub地址: https://github.com/特点: GitHub 是一个面向开源及私有软件项目的托管平台,只支持Git作为唯一的版本库格式进行托管,因此命名为GitHub。它提供了丰富的协作功能,如pull request、issue跟踪、项目管理等。码云(Gitee)地址: https://gitee.com/特点: 码云是国内的一个代码托管平台,由于服务器在国内,所以相比于GitHub,码云速度会更快。它适合国内开发者使用,并提供了类似于GitHub的功能。
2024-06-27 14:45:53
978
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人