![](https://img-blog.csdnimg.cn/20190918140213434.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
c++
文章平均质量分 61
第一遍学习
永恒sss
这个作者很懒,什么都没留下…
展开
-
迭代器失效问题
数组型数据结构:该数据结构的元素是分配在连续的内存中,insert和erase操作,都会使得删除点和插入点之后的元素挪位置,所以,插入点和删除掉之后的迭代器全部失效,也就是说insert(*iter)(或erase(*iter)),然后在iter++,是没有意义的。链表型数据结构:对于list型的数据结构,使用了不连续分配的内存,删除运算使指向删除位置的迭代器失效,但是不会失效其他迭代器.解决办法两种,erase(*iter)会返回下一个有效迭代器的值,或者erase(iter++).原创 2022-09-05 09:28:57 · 386 阅读 · 1 评论 -
C/C++编译链接过程
C和C++转化成计算机语言主要经理四个过程:预编译,编译,汇编,链接读取c源程序,对其中的伪指令(以#开头的指令)和特殊符号进行处理。伪指令主要包括以下四个方面:宏定义指令,如#define Name TokenString,#undef等。对于前一个伪指令,预编译所要做的是将程序中的所有Name用TokenString替换,但作为字符串常量的Name则不被替换。对于后者,则将取消对某个宏的定义,使以后该串被替换。...原创 2022-09-01 10:02:50 · 314 阅读 · 0 评论 -
STL迭代器-使用方法
顺序迭代器——遍历型迭代器1.iterator 正向迭代器常迭代器//函数模板,正向打印容器内元素template<typename CON>void show(CON& src){ typename CON::iterator it = src.begin(); for (; it != src.end(); it++) { cout << *it << " "; } cout << endl;}2.reverse_原创 2021-11-26 22:06:42 · 358 阅读 · 0 评论 -
STL容器介绍以及使用
个人总结如果有错误欢迎指正什么是容器?如果你学过c语言,那就很简单了,容器就像是数组这种存数据的一种结构,容器在申请的时候也需要指明要存储的数据类型,你只需要通过函数对其插入或者取出数据。一.近容器近容器的概念很简单像数组,string这些可以存储数据的结构称为近容器二.顺序容器vectorvector是向量类型,可以容纳许多类型的数据进行vector操作前应添加头文件#include 扩容方式按照1.5倍扩容初始化方式vector a(10) ;原创 2021-11-26 19:06:57 · 562 阅读 · 0 评论 -
c++泛型算法,函数对象
目录泛型算法1.copy:2.find:3.sort()(用到函数对象)//从小到大排4.greater()//从大到小排5.find_if函数对象(和泛型算法结合使用)1.less2.greter3.binder1st4.binder2nd泛型算法使用到的头文件#include<algorithm>#include<functional>1.copy:实现对IT类型中对象的拷贝,第三个参数使用了插入型迭代器.原创 2021-11-26 08:43:06 · 134 阅读 · 2 评论 -
MVC模式
#include<iostream>using namespace std;enum Type{ INSERT, SELECT, UPDATA, DELECT};class View{public: virtual void process(int a) = 0;};class View_insert:public View{ void process(int a) { cout << "insert" << endl; }}.原创 2021-11-18 19:01:47 · 76 阅读 · 0 评论