自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 C++ 提高编程篇5.6:常用集合算法

掌握常用的集合算法。

2024-01-28 16:15:55 202

原创 C++ 提高编程篇5.5:常用算数生成算法

掌握常用的算数生成算法注意:算数生成算法属于小型算法,使用时包含的头文件为 #inlcude<numeric>

2024-01-28 15:51:22 180

原创 C++ 提高编程篇5.4:常用拷贝和替换算法

掌握常用的拷贝和替换算法。

2024-01-28 15:39:18 172

原创 C++ 提高编程篇5.3:常用排序算法

掌握常用的排序算法。

2024-01-28 02:28:26 501

原创 C++ 提高编程篇5.2:常用查找算法

掌握常用的查找算法算法简介:find —— 查找元素find_if —— 按条件查找元素adjacent_find —— 查找相邻重复元素binary_search —— 统计元素个数count_if —— 按条件统计元素个数。

2024-01-28 01:56:12 256

原创 C++ 提高编程篇5.1:常用遍历算法

算法主要是由头文件<algorithm> <functional> <numeric> 组成<algorithm>是所有STL头文件中最大的一个,范围涉及到比较、交换、查找、遍历操作、复制、修改等等<numeric>体积很小,只包括几个在序列上面进行简单数学运算的模板函数<functional>定义了一些模板类,用以声明函数对象掌握最常用的遍历算法。

2024-01-26 17:05:48 295

原创 C++ 提高编程篇4.3:内建函数对象

STL内建了一些函数对象分类:1. 算数仿函数2. 关系仿函数3. 逻辑仿函数用法:这些仿函数所产生的对象,用法和一般函数完全相同使用内建函数对象,需要引入头文件 #include<functional>

2024-01-26 16:41:07 198

原创 C++ 提高编程篇4.2:谓词

返回bool类型的仿函数被称为谓词如果operator()接受一个参数,那么叫做一元谓词如果operator()接受两个参数,那么叫做二元谓词。

2024-01-26 16:12:29 186

原创 C++ 提高编程篇4.1:函数对象(仿函数)

1. 函数对象在使用时,可以像普通函数那样调用,可以有参数,可以有返回值。2. 函数对象超出普通函数的概念,函数对象可以有自己的状态。函数对象使用重载的()时,行为类似函数调用,也叫仿函数。本质:函数对象(仿函数)是一个类,不是一个函数。重载函数调用操作符的类,其对象常称为函数对象。3. 函数对象可以作为参数传递。

2024-01-26 14:41:25 277

原创 C++ 提高编程篇3.10:容器练习之员工分组

公司今天招聘了10个员工(ABCDEFGHIJ),10名员工进行公司之后,需要指派员工在哪个部门工作员工信息有:姓名 工资组成;部门划分:策划、美术、研发随机给10名员工分配部门和工资通过multimap进行信息的插入 key(部门编号)value(员工)分部门显示员工信息。

2024-01-25 23:59:43 311

原创 C++ 提高编程篇3.9:map/multimap 容器

pair中第一个元素为key(键值),起到索引作用,第二个元素为value(实值)功能:map容器默认排序规则为 按照key值进行从小到大排,自我如何改变排序规则。本质:map/multimap属于关联式容器,底层结构是用二叉树实现。总结:map中所有元素都是成对出现,插入数据时候要使用对组。对于自定义数据类型,map必须要指定排序规则,同set容器。统计 —— count(对于map,结果为0或者1)功能:统计map容器大小以及交换map容器。功能:map容器进行插入数据和删除数据。

2024-01-25 23:31:24 472

原创 C++ 提高编程篇3.8:set/multiset 容器

本质:set/multiset容器属于关联式容器,底层结构是用二叉树实现。3. multiset不会检测数据,因此可以插入重复数据。1. set不可以插入重复数据,而multiset可以。功能:成对出现的数据,利用对组可以返回两个数据。如果需要插入重复数据可以利用multiset。功能:统计set容器大小以及交换set容器。功能:对set容器进行查找数据以及统计数据。功能:set容器进行插入数据和删除数据。如果不允许插入重复数据可以利用set。set容器插入数据的数据会自动排序。

2024-01-24 01:40:03 735

原创 C++ 提高编程篇3.7:list容器

2. list有一个重要的性质,插入操作和删除操作都不会造成原有list迭代器的失效,这在vector是不成立的。由于链表的存储方式并不是连续的内存空间,因此链表list中的迭代器只支持前移和后移,属于双向迭代器。链表是一种物理存储单元上非连续的存储结构,数据元素的逻辑顺序是通过链表中的指针链接实现的。结点的组成:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。总结:STL中list和vector是两个最常被使用的容器,各有优缺点。功能:将容器中的元素反转,以及将容器中的数据进行升序。

2024-01-23 20:28:15 688

原创 C++ 提高编程篇3.6:queue容器

定义:queue是一种先进先出的数据结构,它有两个出口队列容器允许从一端新增元素,从另一端移除元素队列中只有队头和队尾才可以被外界使用,因此队列不允许有遍历行为队列中进数据称为 —— 入队 push队列中出数据称为 —— 出队 pop。

2024-01-21 18:15:08 444

原创 C++ 提高编程篇3.5:stack容器

概念:stack是一种先进后出的数据结构,它只有一个出口栈中只有顶端的元素才可以被外界访问,因此栈不允许有遍历行为栈中进入数据称为 —— 入栈 push栈中弹出数据称为 —— 出栈 pop。

2024-01-20 18:08:15 348

原创 C++ 提高编程篇3.4:容器练习之评委打分

2. 遍历vector容器,取出来每一个选手,执行for循环,可以把10个评委打分存到deque容器中。有5名选手:选手ABCDE,10个评委分别对每一名选手打分,去除最高分,去除评委中最低分,取平均分。3. sort算法对deque容器中分数排序,去除最高和最低分。1. 创建五名选手,放入vector中。4. deque容器遍历一遍,累加总分。

2024-01-20 15:18:31 352

原创 C++ 提高编程篇3.3:deque容器

deque内部有个中控器,维护每段缓冲区中的内容,缓冲区存放真实数据中控器维护的是每个缓冲区的地址,使得使用deque时像是一片连续的内存空间。3. vector访问元素时的速度会比deque快,这和两者内部实现相关。总结:deque容器和vector容器的构造方式几乎一致,灵活使用即可。1. vector对于头部的插入和删除效率低,数目量越大,效率越低。功能:对deque容器的大小进行操作。功能:对deque中的数据的存取操作。头插 —— push_front。尾插 —— push_back。

2024-01-20 01:07:20 510

原创 C++ 提高编程篇3.2:vector容器

vector数据结构与数组非常相似,也称为单端数组:不同之处在于数组是静态空间,而vector可以动态拓展:并不是在原空间之后续接新空间,而是找更大的内存空间,然后将原数据拷贝新空间,释放原空间vector容器的迭代器是支持随机访问的迭代器。

2024-01-18 15:29:01 546

原创 C++ 提高编程篇3.1:string容器

本质:string是C++风格的字符串,而string本质是一个类string和char *区别1. char * 是一个指针2. string是一个类,类内部封装了char*,管理这个字符串,是一个char*型容器特点:string类内部封装了很多成员方法例如:查找find、拷贝copy、删除delete替换replace,插入insertstring管理char*所分配的内存,不用担心复制越界和取值越界等,由类内部进行负责。

2024-01-15 23:28:08 380

原创 C++ 提高编程篇2:STL初识

vector中存放自定义数据类型,并打印输出#include // 标准算法头文件// vector 容器存放自定义数据类型public:int m_Age;// 向容器中添加数据// 遍历容器中的数据it!= v.end();it++)//cout

2024-01-15 15:09:03 983

原创 C++ 提高编程篇1.2:类模板

2. 解决方式2:将声明和实现写到同一个文件中,并更改后缀名.hpp,hpp时约定的名称,并不是强制。类模板作用:建立一个通用类,类中的成员 数据类型可以不具体确定,用一个虚拟的类型代表。1. 当子类继承的父类是一个类模板时,子类在声明的时候,要指定出父类中T的类型。主流的解决方式时第二种,将类模板成员函数写到一起,并将后缀改为.hpp。总结:类模板中的成员并不是一开始就创建的,在调用时才去创建。总结:如果父类是类模板,子类需要指定出父类中T的数据类型。1. 指定传入的类型 —— 直接显示对象的数据类型。

2024-01-15 13:20:31 597

原创 C++ 提高编程篇1.1:函数模板

建立一个通用函数,其函数返回值类型和形参类型可以不具体指定,用一个虚拟的类型来代表。总结:建议使用显示指定类型的方式,调用函数模板,因为可以自动确定通用类型T。1. 利用函数模板封装出一个排序的函数,可以对不同数据类型数组进行排序。2. 函数模板调用时,如果利用自动类型推导,不会发生隐式类型转换。1. 自动类型推导,必须推导出一致的数据类型T,才可以使用。3. 如果利用显式指定类型的方式,可以发生隐式类型转换。1. 利用具体化的模板,可以解决自定义类型的通用化。2. 排序规则从大到小,排序算法为选择排序。

2024-01-14 21:57:26 450

原创 C++ 核心编程篇综合练习:职工管理系统

职工管理系统可以用来管理公司内所有员工的信息本练习主要利用C++来实现一个基于多态的职工管理系统公司中职工分为三类:普通员工、经理、老板,显示信息时,需要显示职工编号,职工姓名,职工岗位,以及职责普通员工职责:完成经理交给的任务经理职责:完成老板交给的任务,并下发任务给员工老板职责:管理公司所有事物管理系统中需要实现的功能如下:1. 退出管理程序:退出当前管理系统2. 增加职工信息:实现批量添加职工功能,将信息录入到文件中,职工信息为:职工编号、姓名、部门编号。

2024-01-13 23:30:41 2139

原创 C++ 核心编程篇5.2:二进制文件

以二进制的方式对文件进行读写操作打开方式要指定为 ios::binary。

2024-01-12 14:43:52 362

原创 C++ 核心编程篇5.1:文本文件

程序运行时产生的数据都属于临时数据,程序一旦运行结束都会被释放通过文件可以将数据持久化C++中对文件操作需要包含头文件 文件类型分为两种:1. 文本文件:文件以文本的ASCII码形式存储在计算机中2. 二进制文件:文件以文本的二进制形式存储在计算机中,用户一般不能直接读懂他们操作文件的三大类:1. ofstream:写操作2. ifstream:读操作3. fstream:读写操作。

2024-01-12 14:07:46 357

原创 C++ 核心编程篇4.7:多态

多态分为两类1. 静态多态:函数重载 和 运算符重载属于静态多态,复用函数名2. 动态多态:派生类和虚函数实现运行时多态静态多态和动态多态区别:1. 静态多态的函数地址早绑定- 编译阶段确定函数地址2. 动态多态的函数地址晚绑定- 运行阶段确定函数地址结:多态满足条件:1. 有继承关系2. 子类重写父类中的虚函数多态使用条件:父类指针或引用指向子类对象重写:函数返回值类型 函数名 参数列表 完全一致称为重写。

2024-01-12 12:23:56 1117

原创 C++ 核心编程篇4.6:继承

继承的好处:可以减少重复的代码A类称为子类 或 派生类B类称为父类 或 基类派生类中的成员,包含两大部分一类是从基类继承过来的,一类是自己增加的成员从基类继承过来的表现其共性,而新增的成员体现了其个性。

2024-01-11 22:16:57 380

原创 C++ 核心编程篇4.5:运算符重载

加号运算符重载作用:实现两个自定义数据类型相加的运算总结:1. 对于内置的数据类型的表达式的运算符是不可能改的2. 不要滥用运算符重载。

2024-01-11 18:48:51 516

原创 C++ 核心编程篇4.4:友元

在程序中,有些私有属性 也想让类外特殊的一些函数或者类进行访问,就需要用到友元的技术友元的目的是让一个函数或者类访问另一个类中私有成员友元的关键字:friend友元的三种实现1. 全局函数做友元2. 类做友元3. 成员函数做友元。

2024-01-11 00:26:19 352

原创 C++ 核心编程篇4.3:C++对象模型和this指针

在C++中,类内成员变量和成员函数分开存储只有非静态成员变量才属于类的对象上。

2024-01-10 21:52:13 395

原创 C++ 核心编程篇4.2:对象的初始化和清理

生活中我们买的电子产品基本有还原出厂设置,在某一天我们不用时候也会删除一些自己信息数据来保证安全C++中的面向对象来源于生活,每个对象也都会有初始设置以及对象销毁前的清理数据的设置构造函数和析构函数的作用:对象的初始化和清零是非常重要的安全问题,一个对象或者变量没有初始状态,对其使用后果是未知,同样的使用完一个对象或变量,没有及时清理,也会造成一定的安全问题C++利用构造函数和析构函数解决上述问题,这些函数将会被编译器自动调用,完成对象初始化和清理工作。

2024-01-10 15:54:01 878

原创 C++ 核心编程篇4.1:封装

封装是C++面向对象的三大特性之一封装的意义:1. 将属性和行为作为一个整体,表现生活中的事物2. 将属性和行为加以权限控制封装意义之一:在设计类的时候,属性和行为写在一起,表现事物语法:class 类名{ 访问权限:属性 / 行为 };示例1:设计一个圆类,求圆的周长示例2:设计一个学生类,属性有姓名和学号,可以给姓名和学号赋值,可以显示学生的姓名和学号类在设计时,可以把属性和行为放在不同的权限,加以控制访问权限有三种:1. public 公共权限2. protected 保护权限。

2024-01-08 18:32:57 376

原创 C++ 核心编程篇3.3:函数重载

3. 函数参数类型不同,或者个数不同,或者顺序不同。注意事项:函数的返回值不可以作为函数重载的条件。函数重载作用:函数名相同,提高复用性。1. 同一个作用域下。

2024-01-08 16:20:45 497

原创 C++ 核心编程篇3.2:函数占位参数

C++中函数的形参列表可以有占位参数,用来做占位,调用函数时必须填补该位置。语法:返回值类型 函数名 {数据类型} {}

2024-01-08 16:07:35 367

原创 C++ 核心编程篇3.1:函数默认参数

在C++中,函数的形参列表中的形参是可以有默认值的语法:返回值类型 函数名 (参数 = 默认值){ }#include<iostream>using namespace std;// 函数默认参数// 如果我们自己传入数据,就用自己的数据,如果没有,那么用默认值// 语法:返回值类型 函数名(形参 = 默认值){}int func(int a, int b = 20, int c = 30){ return a + b + c;}// 注意事项//

2024-01-08 15:55:46 360

原创 C++ 核心编程篇2.6:常量引用

在函数形参列表中,可以加const修饰形参,防止形参改变实参。常量引用作用:主要用来修饰形参,防止误操作。

2024-01-07 23:14:07 347

原创 C++ 核心编程篇2.5:引用的本质

总结:C++推荐用引用技术,因为语法方便,引用本质是指针常量,但是所有的指针操作编译器都帮我们做了。引用的本质:在C++内部实现是一个指针常量。

2024-01-07 23:04:35 360

原创 C++ 核心编程篇2.4:引用做函数返回值

引用做函数返回值作用:引用是可以作为函数的返回值存在的。注意事项:不要返回局部变量引用。用法:函数调用作为左值。

2024-01-07 22:52:52 337

原创 C++ 核心编程篇2.3:引用做函数参数

总结:通过引用参数产生的效果同按地址传递是一样的,引用语法更清楚简单。引用做函数参数作用:函数传参时,可以利用引用的技术让形参修饰实参。优点:可以简化指针修改实参。

2024-01-07 18:31:13 365

原创 C++ 核心编程篇2.2:引用注意事项

2. 引用在初始化后,不可以改变。1. 引用必须初始化。

2024-01-07 18:18:32 347

C++核心编程篇-职工管理系统案例打包

这个C++核心编程篇的职工管理系统是一份极具教育价值的资源,旨在帮助学习者掌握C++编程核心。以下是对该资源的详细介绍: 资源描述 这份资源是一份C++通讯录管理系统,特别适合初学者入门。其主要特点和价值如下: 1. 教育用途: 学习C++基础: 通过这个职工管理系统,学习者可以加深对C++语言基础知识的理解,包括变量、函数、循环、条件语句等。 实际应用: 该系统以通讯录为背景,结合实际场景,让学习者在实践中掌握编程技能。 2. 代码质量: 逻辑清晰: 代码逻辑清晰,易于理解和学习,符合良好的编程规范。 结构完整: 系统结构完整,模块划分明确,有助于学习者理解和运用模块化开发思想。 3. 适用场景: 日常作业: 作为学习用途,可以应用于日常编程作业,帮助学生提高C++编程水平。 自主开发: 小白们可以基于这个系统进行进一步开发,加入新功能,提升实际项目经验。 4. 学习者利益: 自主学习: 学习者可以通过阅读和理解这份资源,自主提高C++编程技能。 实践机会: 提供了实践机会,帮助学习者将理论知识转化为实际项目经验。

2024-01-14

蓝桥杯资料-ABC赛题

本资源收集了蓝桥杯备赛的赛题资料和解题方法,以及各种备赛的经验和方法,,希望这个资源能够帮助到大家,祝你们在蓝桥杯中取得好成绩!

2024-01-07

原神模拟器安装.rar

这份原神抽卡模拟器资源是一项为原神玩家提供的有趣工具,旨在模拟游戏中的抽卡机制,帮助玩家了解抽卡概率和体验不同角色的获取。以下是对这个资源的详细介绍: 资源特点 1. 概率还原: 一些模拟器可能以官方公布的概率和机制为基础,以还原真实抽卡体验。这有助于玩家更好地理解游戏内的抽卡规则。 2. 使用指南 开发者分享: 一些资源可能附带使用指南,帮助玩家更好地使用和理解模拟器的功能。这对于初学者尤其有帮助。 使用建议 游戏前瞻: 使用模拟器可以提前感受游戏中抽卡的乐趣,为玩家决定是否进行特定的角色投资提供参考。

2024-01-07

72套答辩PPT模板.zip

如果你正在为毕业答辩PPT苦恼,我有好消息!我分享了一份资源,其中包括72套精心设计的PPT模板,专为毕业答辩而制作。这些模板不仅外观独特,而且包含了丰富的功能,使你的答辩展示更加引人注目。 每套模板都经过精心挑选,覆盖了不同主题和风格,从而满足各种专业和个性化的需求。无论你是工科、文科还是艺术类的学生,都能在这个资源中找到合适的PPT模板。 这些模板的特点包括: 创意设计:独特的排版和设计,突显你的答辩内容。 多样化主题:覆盖了科技、艺术、商务等不同领域,满足各种学科需求。 简单易用:方便修改,适应个性化的演讲风格。 这份资源将为你的毕业答辩增色不少。别忘了在CSDN社区资源上传时提及这个宝贵的资源,让更多的同学受益。祝你顺利通过答辩,取得优异的成绩!

2024-01-07

斯坦福数据集-丰富的点云数据集

这一资源是来自斯坦福大学的宝库,提供了丰富的三维扫描数据,其中包含了著名的bunny、dragon等经典数据集。这些数据集的点云数据涵盖了各个角度,为点云配准等领域的学习提供了理想的素材。 关键特点: 1. 丰富多样的数据集: 包括著名的bunny、dragon等,涵盖了不同材质和形状的模型,适用于多个学科领域。 2. 多角度点云数据: 提供了各个角度的点云数据,为学习和实践提供了全面的素材,特别适用于点云配准的实验和研究。 3. 用途广泛: 不仅可以用于点云配准,还可用于三维重建、模型比对等多个领域,是学术研究和项目实践的理想选择。 4. 大数据量: 数据量较大,对用户提出了一定的下载耐心要求,但丰富的内容将为学术研究和实践带来更多可能性。 如何使用: 1. 利用这些数据集进行点云配准、三维建模等实验,拓展自己的研究领域。 2. 这一资源为点云数据的学习和实践提供了重要支持,将对三维视觉领域的学术和工程研究产生积极影响。

2024-01-07

通讯录管理系统.rar

这个C++基础入门篇的通讯录管理系统是一份极具教育价值的资源,旨在帮助学习者掌握C++编程基础。以下是对该资源的详细介绍: 资源描述 这份资源是一份C++通讯录管理系统,特别适合初学者入门。其主要特点和价值如下: 1. 教育用途: 学习C++基础: 通过这个通讯录管理系统,学习者可以加深对C++语言基础知识的理解,包括变量、函数、循环、条件语句等。 实际应用: 该系统以通讯录为背景,结合实际场景,让学习者在实践中掌握编程技能。 2. 代码质量: 逻辑清晰: 代码逻辑清晰,易于理解和学习,符合良好的编程规范。 结构完整: 系统结构完整,模块划分明确,有助于学习者理解和运用模块化开发思想。 3. 适用场景: 日常作业: 作为学习用途,可以应用于日常编程作业,帮助学生提高C++编程水平。 自主开发: 小白们可以基于这个系统进行进一步开发,加入新功能,提升实际项目经验。 4. 学习者利益: 自主学习: 学习者可以通过阅读和理解这份资源,自主提高C++编程技能。 实践机会: 提供了实践机会,帮助学习者将理论知识转化为实际项目经验。

2024-01-06

空空如也

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

TA关注的人

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