- 博客(10)
- 收藏
- 关注
原创 set容器修改排序规则以及代码附送详细讲解
重点:当你自定义类型作为容器的参数的时候,需要修改排序规则,这个规则需要放在<>中,我们又知道<>里面都是类型,规则又是函数,这时我们自然会想到仿函数(重载()运算符),写一个类里面时bool类型函数重载();{这里又是一个易错点就是当重载是引用、在类中、在结构体中都需要加const,具体的由于我也不太理解,反正就记住是加const,我的建议是都加const不用区分情况}(原因大致是因为它会自动排序你输入的元素,当你修改迭代器后它原来的值就会被破坏,它排序的方法就是数据结构中的平衡二叉树排序)
2023-03-23 23:45:51 332
原创 容器deque和vector的综合简单习题
rand()函数确实会给用户分配一个随机数,但是有弊端就是,这个随机数它不会变,主要原因还是随机种子确定后就没有再改变了,现在我们对随机种子srand(),对它传一个一直改变的参数,那么它产生的随机数就会一直改变了,我们肯定会想到时间函数,时间是一直改变了,就会导致随机种子一直改变,最终产生可变的随机数,时间函数time(NULL),头文件是#include<time.h>。对于这个名字主要设计了是:"选手+A","选手+B","选手+C","选手+D","选手+E","选手+F"。
2023-03-23 15:30:05 167
原创 vector存放自定义类型数据 class Person以及迭代器的初步了解
bool comperperson(Person& ob1, Person& ob2)//当自定义类型需要排序sort的时候//由于sort()不认识你所定义的类型,所以需要排序规则private:int num;public:bool comperperson(Person& ob1, Person& ob2)//当自定义类型需要排序sort的时候//由于sort()不认识你所定义的类型,所以需要排序规则。
2023-03-23 14:16:04 251
原创 Vs报错:不存在用户定义的从 “std::vector<Person, std::allocator<Person>>“ 到 “std以及C++中的默认命名空间
迷迷糊糊的写代码的时候,本打算写容器vector存放自定义类型的时候,发现的错误,之前初学类的时候也会出现这个问题,就是把类的声明和定义都放在函数体内。查了资料知道了原因,类是大于函数的:命名空间>类>函数(包括类成员函数和静态函数);具体地说就是cout全名是std::cout(),std就是命名空间,cout是std的函数,using namespace std以后可以直接使用main是个全局函数,他的命名空间其实是整个程序,student是类,student.show就是类成员函数;
2023-03-22 18:06:04 3667
原创 C++中STL:vector容器的嵌套或者起始迭代器的叠加和swap收缩vactor空间
调用vector<int>匿名对象(无对象名),传进去参数为v1,这是一个对象,这里就涉及到了旧对象给新对象赋值,调用了拷贝构造,但是关键就是这个拷贝构造它只是会把旧对象的实际空间大小拷贝过来,所以只拷贝过来4,紧接着就是swap函数,它会交换俩对象的指向,让旧对象指向小空间,新对象指向大空间,但是这个新对象只是局部变量,所以当这个函数结束后,它和它的空间就被释放了。刚开始预留一个1000位,意思就是起始给这个容器直接分配1000的空间,然后用尾插法插入4个数。
2023-03-21 23:54:57 487
原创 浮点数的笔记
这时候,我们的阶码E=2k-1,因为e是k个1(二进制),转成十进制数就是2k-1(补充:k位二进制数能取到的最大值就是2k-1),这里表示小数点向右移动2k-1位;X 最 大 正 数 = ( 1 − 2 − n ) × 2 2 k − 1 X_{最大正数}= (1-2^{- n})×2^{2^k-1}此时,我们的阶码E=-2k,因为此时阶码部分表示最小的负数,k+1位的有符号整数所能表示的最小负数,也即绝对值最大的负数就为-2k;阶码E=2k-1,理由同第1点,这是k位2进制数能取到的最大正数。
2023-03-20 21:55:47 163
原创 getchar()个人理解
当我们getchar()输入的时候结束会敲一个回车符号,就会导致多输入/n放在缓存区,当第一个getchar()拿走缓存区的第一个数据的时候/n还存在在缓存区,下一个getcahr()从缓存区拿数据的时候不会直接把你所从键盘输入的下一个数据直接拿走,它会拿走最近的一个字符也就是/n。个人理解的getchar()清空作用,就是每次调用它,它都会拿走一个字符,当需要清空的东西比较多的时候,我们可以用while循环直到getchar()='/n'getchar()读取单个字符的函数。
2023-03-20 19:32:27 79
空空如也
单链表一直报错L未分配空间,L未定义
2022-11-11
TA创建的收藏夹 TA关注的收藏夹
TA关注的人