- 博客(22)
- 收藏
- 关注
原创 Linux文件处理命令【随着技术增长持续更新】
lslist列表的意思,执行权限是所有用户(权限分为三类,一类是 u所有者 g所属组 o其他人),表示显示目录文件-a 选项表示all,全部显示(.开头的是隐藏文件),-l 选项表示long,长格式显示(开头的第一个参数是9位的权限,分别代表u g o(三个一组),第二个参数是计数,第三个参数是u,第四个参数是g,第五个参数是大小,第六个是修改时间,第七个是文件名 ),r表示读,w便是写,x表示执行,图片中红色的线。-h 选项显示的时候直观一点。-d 显示目录本身,不展开显示目录下边的文件。-
2022-06-04 16:46:17
90
原创 Centos 7用Xshell 7远程登录
虚拟机中的网络适配器桥接简而言之,桥解就是利用真实的网卡,要给其分配一个真实的IP,虚拟机就类似一个真正的计算机一样。NATNAT利用的是虚拟网卡,用的是8号虚拟网卡,不占用真实的IP,可以和自己的主机通信,主机可以上网,它也可以上网。Host-only(仅主机模式)用的是虚拟网卡1,不占用真的的IP,只能和自己的主机通信。配置虚拟机的IP在这里我们使用的是桥接模式来实现。点击确定,在屏幕中输入ifconfig查看网络配置情况。在这里ens33就是我们的虚拟机的网卡文件名,接下来我们
2022-05-27 20:28:53
919
原创 虚拟机上安装CentOS 7【纯命令行】
虚拟机用的是VMware,镜像文件是CentOS 7,这些下载安装方式都是在网上可以找到的,下边直接进入正题。1.创建虚拟机打开vm点击创建虚拟机这里我们通过简单的典型配置来实现选择稍后安装操作系统操作系统选择Linux版本选择CentOS 7 64位(这里下载镜像的时候要看自己的电脑是32位还是64位,根据电脑自己的位数来选择下载的镜像文件)点击下一步之后可以为自己的虚拟机起一个名字,也要自定义的设置一个存储路径磁盘大小就是默认点击完成,虚拟机就创建完成了2.配置虚拟机右
2022-05-09 17:26:27
3719
3
原创 STL常用算法【内置类型和自定义类型的实现】
自定义数据类型如下:Cat类class Cat {public: Cat(string name,int age) { this->cat_name = name; this->cat_age = age; } bool operator==(const Cat &c) {//重载==运算符,后边自定义数据类型时作比较用 if (this->cat_age == c.cat_age && this->cat_name == c.cat_
2022-04-12 17:57:28
670
原创 函数对象、仿函数、谓词
函数对象(仿函数)重载函数调用操作符的类,其对象称为函数对象,函数对象在使用重载()时,又叫仿函数。其本质是一个类,不是函数。仿函数就是在类中重载小括号,直接用对象调用小括号就可以实现,因为他本身是一个类不是一个函数,但是又类似是函数的使用方式,所以就叫他为仿函数。class my_printf {public: void operator()(string s) {//仿函数重载小括号 cout << s << endl; }};class my_add {
2022-04-07 17:07:50
207
原创 STL笔记【map(红黑树),multimap,unordered_map(哈希),unordered_multimap】
map的一些常用方法对于map来说,底层实现是红黑树,在插入的时候就会按照key值来排序,所以如果是插入的自定义数据类型那么就需要写仿函数,重载小括号来实现插入,对于自定义排序规则也要通过仿函数以及重载小括号来实现想要的排序。multimap相对于map来说可以插入重复的key值,与set相同的是,map如果插入的数据的key是一样的就会插入失败,不同点是通过map[key] = value;这种方法来实现的插入,如果存在key值则更新value,如果不存在key值则插入key-value键值对。vo
2022-04-06 10:18:37
437
原创 STL笔记【set(红黑树),multiset,unordered_set(哈希),unordered_multiset,pair(键值对)】
set的性质和一些操作set的底层是红黑树,所以是不支持随机访问的类型,那么迭代器就只能++,–。红黑树就是一个要求不那么严格的平衡二叉树,对于红黑树的内容等后期自己学习一下也会写一篇文章,现在只需知道set和multiset底层的实现都是红黑树即可。对于set是不支持容器中有重复的元素的,但是multiset容器中可以有相同的元素,set容器和multiset容器都是插入时自动升序排列的所以在代码中也提供了一种实现降序排列的方式。adasdasdas...
2022-03-28 13:21:12
1077
原创 STL笔记【list双向循环链表容器,实现list容器自定义类的排序】
list的一些基本函数list底层是一个双向循环链表,链表不支持随机访问。int main() { list<int> L; //默认构造 list<int> L1(L); //拷贝构造 list<int> L2(L.begin(), L.end());//迭代器之间的数据初始化 list<int> L3(2, 5); //将2个5个L3; L = L1; //重载运算符赋值 L.assign(2, 5); //将2个5赋值给L
2022-03-26 21:49:34
1727
原创 STL笔记【stack栈容器和queue队列容器】
stack栈先入后出类型,只能对栈顶做处理,是一种受限制的线性表。其一些基本操作int main() { stack<int> st;//默认构造函数 stack<int> st1(st);//拷贝构造函数 stack<int> st2; st2 = st;//重载运算符赋值操作 st.push(10);//入栈 st.push(20); st.pop();//出栈 int num = st.top();//获取栈顶元素 st.size();//栈
2022-03-24 17:53:14
317
原创 STL笔记【deque容器 双端队列】
deque容器的底层有一个叫做中控器的东西去控制这个双端队列,中控器就类似操作系统中的页表,页表中记录着每个页框的地址;同样中控器就记录着每个缓冲区的位置,对于头插就在前端插入,尾插就在尾端插入,如果内存不够了就重新申请一片缓冲器,将其地址记录在中控器中。以下图片截取自互联网deque的构造赋值和插入删除int main() { deque<int> d;//默认构造函数 d.push_back(20);//尾插 d.push_back(25); d.push_front(1)
2022-03-24 17:36:02
1828
原创 STL笔记【string容器】
string的构造函数要包含string的头文件。在C中string是一个char * ,在C++中string是一个类,类中有一个char *。int main() { string s1;//默认构造 const char* str = "Hello C++"; string s2(str);//有参构造 string s3(s2);//拷贝构造 string s4(5,'*');//第一个参数是数量num,第二个参数是有num个*. system("pause"); re
2022-03-23 11:30:43
89
原创 C++初识多态【虚函数、纯虚函数】
虚函数在原来的函数前边加一个virtual关键字,就相当于类的内部有一个**虚函数指针,指向一个虚函数表起始地址,在表中记录了所有的虚函数的函数名以及起始地址。**那么在子类继承基类的时候,会相应的把这个虚函数指针继承下来,在子类中如果重写了父类的虚函数,虚函数指针就会找到虚函数表,再找到重写的函数首地址,进而就会用子类重写的函数去覆盖父类的虚函数,就实现了动态多态。对于虚函数来说,子类要重写父类中的虚函数。...
2022-03-22 15:23:23
1131
原创 C++笔记【权限与继承】
类中的public,protected,private权限说明public:类内类外都可以访问(所有)protected:继承类可以访问,类内可以访问,类外不能访问private:只能有类内访问,也可以通过友元的方式进行访问class Cat { friend void friendCat(Cat cat);public: int a = 1;protected: int b = 2;private: int c = 3;};class BlackCat :public Cat
2022-03-21 17:43:12
1141
原创 C++指针常量与常量指针
const修饰指针——常量指针const int *p = &a 指针的指向可以修改,指针指向的值不可修改。int main() { int a = 100; int b = 1000; const int* p = &a; p = &b; //这个是合法的,改变了指针的指向。 *p = 100;//这个是非法的,不可以改变指针指向的值。 return 0;}const修饰常量——指针常量int * const p = &a 指针指向的值可以修改,指针
2022-03-21 11:38:24
962
原创 学习C++基础的东西( cin与getline(cin,param) )
cin是标准输入,但是遇到空格字符就终止了,但是有一个函数是getline(cin,参数);可以输出一整行,空格也是可以输出的。int main() { string s0; cout << "cin方式输入:"; cin >> s0; cout << "cin方式输出:"<< s0 << endl; return 0;}程序执行与测试如下:int main() { cout << "getline()方式输入:
2022-03-21 09:51:36
312
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人