![](https://img-blog.csdnimg.cn/20190918140129601.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
c++
文章平均质量分 57
主要是stl
悲伤の李某
混吃等死的小白
展开
-
cpp基础复习
不能返回局部变量引用当函数调用作为左值式,函数返回必须是引用引用的本质是内部实现了一个指针常量//发现是引用,转换为 int* const ref = &a;void func(int& ref){ ref = 100; // ref是引用,转换为*ref = 100}使用引用的时候,在函数形参中加const,防止形参改变实参,但加了之后就不能做赋值或换值之类的操作了函数中默认参数如果有,那么从第一个默认参数开始从左向右都是默认参数函数重载满足条件:同一个作用域下函原创 2021-12-02 17:12:19 · 150 阅读 · 0 评论 -
volatile,static,const,extern等关键字
volatile作用Volatile关键词的第一个特性:易变性。所谓的易变性,在汇编层面反映出来,就是两条语句,下一条语句不会直接使用上一条语句对应的volatile变量的寄存器内容,而是重新从内存中读取。Volatile关键词的第二个特性:“不可优化”特性。volatile告诉编译器,不要对我这个变量进行各种激进的优化,甚至将变量直接消除,保证程序员写在代码中的指令,一定会被执行。 Volatile关键词的第三个特性:”顺序性”,能够保证Volatile变量间的顺序性,编译器不会进行乱序优化。 C/C转载 2021-11-26 12:12:57 · 145 阅读 · 0 评论 -
0x00D2DCAC 处(位于 Company.exe 中)引发的异常: 0xC0000005: 读取位置 0x00000024 时发生访问冲突。
上面的意思就是你吧值付给了不该赋给的变量,或者说你把值付给了不能付给的变量(或者常量)(1)最简单也最直接的错误可能就是scanf()的问题,我们都知道输入的时候都是scanf("%格式",&变量),那么除了字符串(可要&,可不要)之外,所有的输入都需要&,如果你丢了,在很多编译器上变异的时候是查不出来的,也就是说是没有错的,但是输入数据会差生上述错误,是因为写成scanf("%格式",变量)这种形式了,这样你所输入的变量就不知道会存储到哪里。(2)空指针赋值的问题。我们知道如原创 2021-11-22 19:36:25 · 2195 阅读 · 0 评论 -
C++中的纯虚函数
原文链接:https://blog.csdn.net/ithomer/article/details/6031329在C++中的一种函数申明被称之为:纯虚函数(pure virtual function).它的申明格式如下:class CShape{public:virtual void Show() =0;};注意红色部分,在普通的虚函数后面加上" =0"这样就声明了一个pure virtual function.在什么情况下使用纯虚函数(pure vitrual function)?1转载 2021-11-21 19:22:43 · 193 阅读 · 0 评论 -
set/multiset容器
所有元素都会在插入时自动被排序本质:set/multiset属于关联式容器,底层结构是用二叉树实现set和multiset区别:set不允许容器中有重复的元素multiset允许容器中有重复的元素构造:set<T>st;set(const set& st);赋值:set& operator=(cosnt set& st);void print(set<int>&s){ for(set<int>::itera原创 2021-11-05 15:33:37 · 66 阅读 · 0 评论 -
stack和queue容器
stack容器stack是一种先进后出的数据结构,它只有一个出口栈中只有顶端的元素才可以被外界使用,因此栈不允许有遍历行为栈可以判断是否为空 empty()栈可以返回元素个数 size()入栈 push()出栈 pop()stack常用接口构造函数:stack<T> stk; //stack采用模板类实现, stack对象的默认构造形式stack(const stack &stk);原创 2021-11-04 20:28:53 · 81 阅读 · 0 评论 -
deque容器
功能:双端数组,可以对头端进行插入删除操作与vector区别:vector对于头部的插入删除效率低,数据量越大,效率越低deque相对而言,对头部的插入删除速度回比vector快vector访问元素时的速度会比deque快,这和两者内部实现有关deque工作原理:中控器维护每段缓冲区的地址,使得deque使用起来想一片连续的内存空间,因此访问速度没有vector快deque容器的迭代器也是支持随机访问的deque构造函数函数原型:deque<T> deqT;原创 2021-11-04 19:49:08 · 72 阅读 · 0 评论 -
vector容器
vectorvector数据结构与数组非常类似,也称单端数组与数组的不同:数组是静态空间,vector可以动态扩展vector的迭代器是支持随机访问的迭代器vector构造函数创建vector容器函数原型:vector<T>v; //采用模板实现类实现vector(v.begin(),v.end());//将v[begin(),end()]区间中的元素拷贝给本事vector(n,elem); //构造函数将n个elem拷贝给本身vector(const vector&原创 2021-11-03 15:32:31 · 73 阅读 · 0 评论 -
string
stringc++字符串,本质上是一个类封装了很多成员方法:查找copy,查找find,删除delete 替换 replace 插入insert构造函数:string();string(const char *s); //使用字符串初始化string (const string & str);string (int n,char c);//使用n个字符初始化 string s1; const char * str="hello world"; strin原创 2021-11-03 13:32:37 · 55 阅读 · 0 评论 -
2021-05-02
排序算法low B三人组1.冒泡排序a.遍历一遍数组,让数字间两两比较b.如果前面的数大于后数,则交换两数,一轮结束后已经将最大的数移到了最后c.重复a,b,但要主注意重复n-1遍后,最小的数已经在最前面,无序继续循环def maopao(lis): for i in range(0,len(lis)): for j in range(i,len(lis)-1): if lis[j]>lis[j+1]:原创 2021-05-02 14:31:35 · 43 阅读 · 0 评论