- 博客(48)
- 收藏
- 关注
原创 通过Rothko罗斯科绘画学习CSS盒子
本文章属于学习笔记,在[https://www.freecodecamp.org/chinese/learn/2022/responsive-web-design/](https://www.freecodecamp.org/chinese/learn/2022/responsive-web-design/)中练习
2024-03-15 11:13:53
560
原创 【C++中的STL】常用算法4——常用算术生成算法
算术生成算法属于小型算法,使用时包含的头文件为1、accumulate计算容器元素累计总和2、fill向容器中添加元素。
2024-01-30 13:29:37
456
原创 【C++中的STL】常用算法3——常用拷贝和替换算法
1、copy容器内指定范围的元素拷贝到另一个容器中2、replace将容器内指定的旧元素修改为新元素3、replace_if容器内指定范围满足条件的元素替换为新元素4、swap互换两个容器的元素。
2024-01-28 14:43:28
465
原创 【C++中的STL】常用算法2——排序算法
1、sort对容器内元素进行排序2、洗牌,指定范围内的元素随机调整次序3、merge容器元素合并,并存储到另一个容器中4、reverse反转指定范围的元素。
2024-01-28 14:42:45
715
原创 【C++中的STL】常用算法1——遍历算法和查找算法
按值查找元素,找到返回指定位置迭代器,找不到返回结束迭代器位置,beg开始迭代器,end结束迭代器,_Pred函数或者谓词(返回bool类型的仿函数)按值查找元素,找到返回指定位置迭代器,找不到返回结束迭代器位置,beg开始迭代器,end结束迭代器,value查找的元素。遍历算法,遍历容器元素,beg开始迭代器,end结束迭代器,_func函数或者函数对象。查找相邻重复元素,返回相邻元素的第一个位置的迭代器,beg开始迭代器,end结束迭代器。,beg开始迭代器,end结束迭代器,value查找的元素。
2024-01-27 17:17:32
654
原创 【C++中的STL】函数对象
函数对象在使用时,可以像普通函数那样调用,可以有参数,可以有返回值。函数对象超出普通函数的概念,函数对象可以有自己的状态,函数对象可以作为参数传递。返回bool类型的仿函数称为谓词,如果operator()接受一个参数,叫做一元谓词;,这些仿函数所产生的对象,用法和一般函数完全相同,使用内建函数对象,需要引入头文件**#include**重载函数调用操作符的类,其对象常称为函数对象,函数对象使用重载的()时。行为类似函数调用,也叫仿函数。函数对象(仿函数)是一个类,不是一个函数。
2024-01-27 16:46:42
501
原创 【C++中STL】map/multimap容器
底层结构是用而二叉树实现。map和multimap的区别是map不允许容器中有重复key值元素;multimap允许容器中有重复key值元素。查找key是否存在,若存在,返回该键的元素的迭代器,若不存在,返回set.end(),所有元素都会根据元素的键值自动排序。利用仿函数改变排序规则,默认升序从小到大。删除迭代器从beg到end之间的元素,返回下一个数据的位置。删除pos位置的元素,返回下一个数据的位置。删除容器中值为key的元素。map中的所有元素都是。返回容器中元素的个数。统计key的元素个数。
2024-01-26 22:53:21
452
原创 【C++中STL】set/multiset容器
在使用仿函数排序时,需要加const不可修改,不然会报错,set的排序规则下定义是需要设置好,默认是升序。查找key是否存在,若存在,返回该键的元素的迭代器,若不存在,返回set.end()set不允许容器中有重复的元素,multiset允许容器中有重复的元素。删除迭代器从beg到end之间的元素,返回下一个数据的位置。2、set插入数据的同时会返回插入结果,表示插入成功。1、set不可以插入重复数据,multiset可以。删除pos位置的元素,返回下一个数据的位置。返回容器中元素的个数。
2024-01-26 22:52:43
588
原创 【C++中STL】list链表
重新指定容器的长度为num,若容器变长,则以elem值填充新位置;重新指定容器的长度为num,若容器变长,则以默认值0填充新位置;在链表中在任意位置插入和删除元素不会造成原有list迭代器的失效,这个在vector中不成立。的存储结构,数据元素的逻辑顺序是通过链表中的指针链接实现的,链表是由一系列。删除迭代器从start到end之间的元素,返回下一个数据的位置。迭代器指向位置pos插入元素ele的拷贝,返回新数据的位置。更深层次的理解可以看看数据结构中的链表。删除pos位置的元素,返回下一个数据的位置。
2024-01-26 21:59:17
2344
原创 【C++中STL】stack和queue容器
队列容器允许从一个口入队push新增元素,从另一个口出队pop移除元素。栈中只有顶端的元素可以被外界使用,因此栈不允许由遍历行为。可以判断是否为空empty(),和统计个数size();采用模块类实现,stack对象的默认构造形式。只有队头和队尾能被外界访问,不允许有遍历行为。采用模块类实现,queue对象的默认构造形式。的数据结构,它只有一个出口。的数据结构,有两个出口。从栈顶移除第一个元素。从队头移除第一个元素。
2024-01-26 16:16:45
504
原创 【C++的STL】deque容器
利用算法实现对deque容器进行排序,默认从小到大,对于支持随机访问的迭代器的容器,都可以利用sort算法直接进行排序。重新指定容器的长度为num,若容器变长,则以elem值填充新位置;若容器变短,则末尾超出容器长度的元素被删除。重新指定容器的长度为num,若容器变长,则以默认值0填充新位置;若容器变短,则末尾超出容器长度的元素被删除。删除迭代器从start到end之间的元素,返回下一个数据的位置。迭代器指向位置pos插入元素ele的拷贝,返回新数据的位置。删除pos位置的元素,返回下一个数据的位置。
2024-01-25 15:52:46
356
原创 【C++】STL和vector容器
质变算法,是指运算过程中会更改区间内的元素的内容,例如拷贝、替换、删除等;长久以来,软件届一直希望建立一种可重复利用的东西,C++的面向对象和泛型编程思想,目的就是复用性的提升,大多情况下,数据结构和算法都未能有一套标准,导致被迫从事大量重复工作,为了建立数据结构和算法的一套标准,诞生了STL。容器和算法之间的粘合剂,提供一种方法,使之能够依序寻访某个容器所含的各个元素,而又无需暴露该容器的内部表示方式,每个容器都有自己专属的迭代器,迭代器使用非常类似于指针,初学阶段可以理解为指针。
2024-01-25 15:14:09
2206
原创 【C++中的STL】string字符串容器
2、string管理char *所分配的内存,不用担心复制越界和取值越界等,由类内部进行负责。string是一个类,类内部封装了char *,管理这个字符串,是一个char *型的容器。1、string();string是C++风格的字符串,而string本质上是一个类。把字符串s中从pos开始的n个字符连接到当前字符串结尾。把字符串s的前n个字符连接到当前字符串结尾。把字符串s的前n个字符赋值给当前的字符串。从pos查找s的前n个字符最后一次出现的位置。从pos查找s的前n个字符第一次出现的位置。
2024-01-25 13:53:17
928
原创 【C++】模板(泛型编程)
将声明和实现写在同一个文件中,并更改后缀名为.hpp,hpp是约定的名称,并不是强制。利用具体化的模板,可以解决自定义类型的通用化,学习模板并不是为了写模板,而是再STL能够运用系统提供的模板。建立一个通用函数,其函数返回值类型和形参类型可以不具体制定,用一个虚拟的类型来代表。1、当子类继承的父类是一个类模板时,子类在声明的时候,要指定出父类中T的类型。建立一个通用类,类中的成员 数据类型可以不具体制定,用虚拟的类型来表示。模板不可以直接使用,它只是一个框架,模板的通用不是万能的。
2024-01-22 17:46:23
625
原创 【C++】文件操作
程序运行时产生的数据都属于临时数据,程序一旦运行结束都会被释放,通过文件可以将数据持久化,C++中对文件操作需要包含文件<fstream>
2024-01-20 23:49:59
796
原创 【C++类与对象】多态
多态使用时,若子类中有属性开辟到堆区中,父类指针在释放时无法调用到子类的析构代码,就需要将的父类中的析构函数改为虚析构和纯虚析构。特点:无法实例化对象,子类必须重写抽象类中的纯虚函数,否则也属于抽象类。让子类必须重写父类中的纯虚函数,否则不能实例化对象。1、静态多态:函数重载和运算符重载属于静态多态,复用函数名。父类指针在析构时,不会调用子类中析构函数,导致子类如果由堆区属性,出现了内存泄漏,虚析构可以解决。3、如果是纯虚析构,该类属于抽象类,无法实例化对象。3、父类的指针或引用,执行子类对象。
2024-01-20 22:38:22
389
原创 【C++类与对象】继承
3、当子类中出现和父类同名的成员函数,子类的同名成员函数会隐藏掉父类中所有同名成员函数(包括重载的),如果想访问到需要加作用域。父类中所有的非静态成员属性都会被子类继承,父类中私有的成员属性被编译器隐藏不可访问但被继承。可能会引发父类中同名,不明确出现二义性,可以使用作用于访问父类中的同名。子类继承父类后,当创建子类对象,也会调用父类的构造函数。先构造父类,再构造子类,析构的顺序与构造的顺序相反。2、访问父类同名成员,需要加载作用域(1、访问子类同名成员,直接访问即可。子类也成为派生类,父类成为基类。
2024-01-20 21:14:03
567
原创 【C++】友元
在程序里,有些私有属性想让类外一些函数或者类进行访问,就需要用到友元的技术,友元的目的就是让一个函数或者类访问另一个类中私有成员。friend。
2024-01-17 12:20:49
693
原创 【C++】函数
函数的参数列表中的形参可以有默认值。传值就用传入的值,没有传入值就用默认值。注意:1)如果某个位置已经有默认参数,那么从这个位置往后,从左到右都必须有默认值。2)如果函数声明有默认参数,函数实现就不能有默认参数。(二义性)声明和实现只能有一个有默认参数值。
2024-01-15 21:16:48
356
原创 unity加载prefab预制体
在一个项目中会有很多生成预制体的情况,就可以写一个专门生成预制体的脚本,然后把预中,只用传参数,参数为要生成的预制体的路径就可以了。下面是生成UI预制体,需要转换一下位置,。注意创建的类和函数都要是的。
2023-12-30 23:27:43
2009
2
原创 【C++标准模板库】algorithm头文件下的常用函数
顾名思义,注意max()和min()的参数必须是两个。abs()的参数是一个,但必须是整数,浮点数的绝对值用math头文件下的fabs。
2023-12-30 21:34:53
1200
1
原创 【C++标准模板库】队列、栈和pair常见用法
i <= 5;= true) {cout << "st的栈顶元素:"<<st.top() << endl;cout << "st的元素个数:" << st.size() << endl;//栈顶元素出栈st.pop();cout << "st出栈后的栈顶元素:" << st.top() << endl;cout << "st出栈后的元素个数:" << st.size() << endl;
2023-12-26 21:39:29
1099
1
原创 【C++标准模板库】一些函数的用法(vector、set、map)
变长数组”,相当于一维数组,长度根据需要而自动改变的数组。(大部分STL都是这样定义)在头文件下方要添加(都要加)typename也是一个STL容器,可以是任何的基本类型。1、在vector后面加上一个元素x,时间复杂度:O(1);2、删除vector的尾元素,时间复杂度:O(1);1、,vector本身可以作为数组使用,在一些元素个数不确定的场合可以很好的节省空间。有些场合需要根据一些条件把部分数据输出在同一行,数据中间用空格隔开。
2023-12-26 15:12:37
1247
1
原创 角色移动和跟随鼠标旋转
将给定的值夹在给定的最小浮点数和最大浮点数之间。如果给定值在最小和最大范围内,则返回给定值(最小值和最大值之间的浮点结果)。:把向量的大小限制为移动速度,返回vector的副本,其大小限制为maxLength。正常情况下摄像机跟随玩家移动,当按下E键可以以玩家当前位置为中心旋转场景界面。设定一个重力值,使玩家在地面上,让y轴使用这个重力值。组件:检测碰撞,可以调用控制器的Move方法,把脚本添加到Unity编辑器的组件菜单中。旋转作为欧拉角度相对于父变换的旋转度。控制物理是否会改变对象的旋转。
2023-06-15 11:53:38
348
原创 UI基本图片组件
Set Native Size:可以快速恢复美术提供的图片原始像素尺寸。Preserve Aspect:保持图片的宽高比,高度或宽度自适应。Fill Method:填充方式(360度,水平和垂直)导入图片,要把图片转换为精灵,才能被Canvas使用。<color=#颜色数(16进制)><\color>颜色:<color=颜色名>文字<\color>可以在原始的图上改色号(染色)4、填充模式(进度条、血条等)保持图片的宽高比,高宽自适应。大小:<size=字号>文字。1,3,7,9区域不拉伸。
2023-06-15 11:47:52
136
原创 JSON概念笔记(Unity相关)
数组和对象中可以是不同的类型,对象和数组也可以互套,JSON中的对象与C#中的对象还是有区别,可以不用一一对应相同的类型。JSON可以直接写在JavaScript文件中,是Javascript中的一部分,纯文本也可以。数据使用(反序列化):JSON字符串中存储的数据->C#可使用的数据格式;创建一个json文件,把上面序列化的内容复制到文件中,选择utf-8编码。数据存储(序列化):C#数据格式->JSON字符串,存储或传输;如果打印出来的与json文件中的一致,反序列化成功。
2023-04-21 18:51:57
247
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人