![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++笔记
我是一个小垃圾
这个作者很懒,什么都没留下…
展开
-
C++:queue笔记
常用函数积累,随时更新,方便查阅front():返回 queue 中第一个元素的引用。如果 queue 是常量,就返回一个常引用;如果 queue 为空,返回值是未定义的。back():返回 queue 中最后一个元素的引用。如果 queue 是常量,就返回一个常引用;如果 queue 为空,返回值是未定义的。push():在 queue 的尾部添加一个元素的副本。这是通过调用底层容器的成员函数 push_back() 来完成的。(总是搞混)pop():删除 queue 中的第一个元素。size原创 2020-12-22 10:14:07 · 288 阅读 · 0 评论 -
红黑树
红黑树,好复杂,每次理解一点,过一段时间又忘记,分享一个链接,感觉大佬分析的很好,也怕自己又找不到30张图带你彻底理解红黑树原创 2020-11-04 17:32:54 · 93 阅读 · 0 评论 -
C++:类的静态成员
一般情况下,类的静态成员在类内声明,类外定义和初始化类内声明时+关键字static类外定义时:对象的数据类型 类名::静态成员名字如果在类内初始化,初值必须是常量表达式类的静态成员不属于类的任何对象,但可以通过类的对象、引用、指针访问该静态成员,也可以通过作用域运算符访问,类成员函数可以直接使用类的静态数据成员。静态成员类似于全局变量,保存在静态存储区,一旦被定义就一直存在于程序运行的整个生命周期...原创 2020-10-08 21:55:45 · 2292 阅读 · 0 评论 -
C++笔记:关于string的日常积累
这篇文章需要随时更新,方便自己可以知道一些常识(真是惭愧,有的时候总是会因为这种没有掌握牢靠的小细节半个跟头,总是百度也不好,基本的得记下来)1.关于字符串的加法(很可笑,我竟然不知道字符串可以和单个字符直接相加)(官网的一个例子,多去官网看看)#include<iostream>#include<string>using namespace std;int main(){ string name("John"); string family("Smith");原创 2020-06-21 08:59:48 · 198 阅读 · 0 评论 -
C++笔记:箭头和点的区别
->和.的区别 -> : 指针 访问类成员 . : 对象 访问类成员举个小例子,以便我理解:class student{ public: int name; char sex;}student *st1;//指针student st2;//对象cout<<st1->name<<endl;cout<<st2.name<<endl;...原创 2020-06-20 16:32:48 · 221 阅读 · 1 评论 -
C++:unordered_map、unordered_set、map、set
好怕自己又搞混,还忘记,写下来吧,忘记了,还能来看看unorder_maptemplate < class Key, // unordered_map::key_type class T, // unordered_map::mapped_type class Hash = hash<Key>, // unordered_map::hasher class Pred = e原创 2020-06-19 21:40:46 · 143 阅读 · 0 评论 -
C++:sort排序的使用
sort的两种函数形式void sort (RandomAccessIterator first, RandomAccessIterator last);void sort (RandomAccessIterator first, RandomAccessIterator last, Compare comp);第一种:默认升序排列void sort (RandomAccessIterator first, RandomAccessIterator last);第二种:自定义排序,第三个参数即原创 2020-06-18 20:52:43 · 218 阅读 · 0 评论 -
C++:Run-Time Check Failure#2-Stack around the variable 'str' was corrupted
出现这个情况说的时候,百度了很多原因,说数组越界,让我屏蔽掉数组,但那个数组我必须使用,不能屏蔽,然后我就翻到说可以设置一下全局变量,我就抱着试一试的想法,反正又不贵,还没有副作用,我把我用的数组设置成全局变量,很神奇见效了,具体怎么治疗的我就不清楚了。...原创 2020-03-10 14:02:13 · 1874 阅读 · 0 评论 -
C++笔记:关于friend(友元)
我发现啊,在看过书之后,再看看相关视频,会有助于理解//友元允许其它类或非成员函数访问类的私有成员//友元的作用提高了程序的运行效率,但同时它也破坏了类的封装性//不熟练friend的使用方法,尽量不要使用#include<iostream>using namespace std;class Point{ friend double PointDistance(Poin...原创 2019-08-28 16:18:11 · 124 阅读 · 0 评论 -
C++笔记:关于static
//static变量实现同类对象的共享,它不属于任何一个具体对象(每个对象都可以使用它)//static变量的空间并不是在对象所在的空间,而是单独开辟的空间,所以每个对象才可以调用它//static变量属于全局变量//static变量,要在类外进行初始化#include<iostream>using namespace std;class Box{public: Box...原创 2019-08-28 16:15:59 · 120 阅读 · 1 评论 -
C++笔记:malloc/free和new/delete 的区别
他们的使用形式可以参考该程序中的格式即可#include<iostream>using namespace std;//malloc和 free 是函数,属于标准库里的,所在头文件为stdlib.h//new和delete是操作符,处理方式应该与malloc和free是差不多的//new会在堆上初始化对象时调用构造函数,而malloc不会//调用delete可以触发析构函数...原创 2019-08-27 21:05:54 · 202 阅读 · 0 评论 -
C++笔记:关于this指针
之前学习this指针的时候,其实是模糊的,然后今天看到了一个视频,关于this的,我就看了一下,简单地总结了一下,详细见程序#include<iostream>using namespace std;class A{public: A(int a)//A_Init(A*this,int a) { cout << "A()..." << endl;...原创 2019-08-27 19:13:58 · 165 阅读 · 0 评论 -
C++笔记:关于类1
关于表达式必须是可修改的左值的介绍,详见程序慢慢来,会好的#include<iostream>//#include<string>using namespace std;class Animal{public: char kind[64]; char color[64]; //string kind; void PrintAnimal() { c...原创 2019-08-23 15:47:10 · 252 阅读 · 0 评论 -
C++笔记:关于构造函数
一、构造函数构造函数的名字和类相同构造函数没有返回类型构造函数和普通函数一样有一个参数列表(可以为空)和一个函数体(可以为空)类可以包含多个构造函数,但构造函数之间必须保证参数数量或者参数类型不同(这 一点和重载函数有点像)构造函数不可以声明成const的二、默认构造函数如果类内存在初始值,就用它初始化成员;如果不存在类内初始值,则默认初始化...原创 2019-08-22 19:49:57 · 123 阅读 · 0 评论 -
C++笔记:关于类3
构造函数,析构函数,拷贝构造函数可以设断点,然后一步一步看,这样比较容易懂慢慢来,会好的#include<iostream>using namespace std;class MyDate{public://如果不写public就会默认为private MyDate()//显示默认构造函数 { } MyDate(int x,int y,int z)//构造函数,显...原创 2019-08-23 21:10:12 · 78 阅读 · 0 评论 -
C++笔记:关于类2
class和struct的区别在C++中二者的区别只是默认访问权限不同:class成员的默认访问权限是private,而struct是public;在C中,除上述区别外,struct内没有成员函数(成员方法)慢慢来,会好的#include<iostream>using namespace std;class MyDate{public://如果不写public就会默认为pr...原创 2019-08-23 16:53:40 · 49 阅读 · 0 评论 -
C++笔记:关于vector的使用
有很多东西都是理论很简单,但使用时就会遇到很多问题,所以一定要自己敲代码,即便代码很简单,算是积累吧慢慢来,会好的使用vector记得添加预编译#include<vector>2.vector初始化vector<T> v1//v1是一个空的vector,此时不能直接使用下标,因为vector里还木有元素vector<T> v2(v1)//等价于...原创 2019-08-07 19:15:39 · 158 阅读 · 0 评论 -
C++笔记:关于常量指针,指向常量的指针,指针函数,函数指针
1.常量指针1)本质是指针,只不过指针本身的值是个常量2)注意:常量指针必须初始化,一旦初始化其值就不会再改变。3)按照从右往左的顺序读,就是 先 * 后const,e.g:int *const p;4)常量指针可以指向常量对象,也可以指向非常量对象2.指向常量的指针1)本质是指针,只不过指向的对象是个常量2)普通的指针不可以指向常量对象3)其实指向常量的指针也是可以指向非常量对象...原创 2019-08-09 13:56:34 · 242 阅读 · 0 评论 -
C++笔记:关于const的理解
1.初始化因为const对象创建之后其值就不能再改变,因此const对象必须初始化初始化时将常量赋值给非常量或者把非常量赋值给常量都是可以的,但是当操作可能改变常量的值时,编译就会报错const int i=18;//初始化直接赋值int m=i;//int j=18;//const int k=j;//初始化时将一个非常量赋值给一个常量是可以的2.共享const的作用域仅仅是在...原创 2019-08-08 10:30:45 · 131 阅读 · 0 评论