自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 收藏
  • 关注

原创 vim和外界的复制与粘贴

vim中使用y/p来进行复制粘贴,但是这是在vim文件中使用的,如果我们想要将我们在网页上看的数据粘贴到vim打开的文件中我们该如何操作呢?想要把系统粘贴板的内容复制到vim打开的文件中只需要如下的操作即可。外界复制到vim打开的文件1.将网页上的数据复制到系统粘贴板,选中内容后,用ctrl+c。2.在vim打开的文件中,首先确保是在一般模式下,不确定什么模式可以多按几次esc确保回到一般模式,之后将光标定位到想要复制文件的地方。然后从键盘输入"+p,这时即可完成粘贴。将vim打开的文件的数据复

2021-02-28 15:50:26 12945 4

原创 C++学习笔记----new和delete管理内存

new的用法C/C++语言的一大特色就是能够进行内存控制和管理,我们利用new申请动态的内存空间,并用delete释放内存空间,在C++语言中,new和delete被当作运算符看待,可以对其进行重载。同样可以用new分配const的内存:当分配动态内存时内存耗尽则会纷分配失败,并且将会抛出异常内存的释放我们用delete,对于单个单个对象的指针我们用delete p;对于数组指针我们用delete [] p;这样的形势进行释放内存。malloc函数和freemalloc函数和fr

2021-02-28 14:39:08 159

原创 C++学习笔记----多重继承和虚继承

C++体系中允许多重继承和虚继承,但是所重继承和虚继承应该注意一些情况,比如函数的调用冲突、初始化过程等。1.多重继承多重继承就是指从多个直接基类中产生的派生类,多重继承产生的派生类中包含其所有基类的部分。派生类的构造函数构造派生类的同时将会直接初始化基类的对象,如下所示:上述初始化的过程如下:在C++11标准中允许派生类从他的直接基类继承构造函数,但是如果从多个直接基类继承相同的构造函数(形参列表完全相同),则程序产生错误:为了解决从多个基类继承相同的构造函数的问题,则这个类必须定义它自己

2021-02-27 14:49:38 212

原创 C++学习笔记----命名空间(namespace)

文章目录1.命名空间的定义2.使用命名空间的成员命名空间的作用是为了解决命名冲突问题。1.命名空间的定义命名空间主要由namespace关键字定义,其定义方式为:namespace cpp_primer{ /*类、函数、变量、模板等*/}//命名空间作用域后不需要加";"每个命名空间都有一个作用域命名空间作用域内的成员我们可以通过作用域符号进行访问。其访问方式为:空间名::成员名std::cout;//使用便准命名空间std内的成员cout命名空间可以是不连续的命名空间不一定是连续

2021-02-26 22:03:37 404

原创 C++学习笔记----异常处理(throw、try、catch)

1.throwthrow表示抛出异常,当函数抛出异常后该函数的运行将会终止,并将控制权转交给异常处理代码。例子:void ten(int *a,int size){ int n=10; if(10>=size) { throw exception("数组越界"); } else{ cout<<a[10]<<endl; }}该程序会抛出异常,其异常类型为exception。...

2021-02-26 14:54:33 1369

原创 C++学习笔记----I/O进阶(格式控制、未格式化、随机访问)

I/O基础:

2021-02-24 20:22:57 302

原创 常用shell脚本命令

1.findfindfind命令主要用于查找文件,结合相应的选项可以非常全面的完成文件的查找,包括挂号载NFS和samba文件系统的网络文件。find / -name "test" 查找名为test的文件,并输出完整路劲find / -mount -name "test" 查找test文件,但是不查找挂载文件系统find的完整格式find [path] [option] [tests] [action]1. path就是搜索的路径,可以是绝对路劲也可以是相对路径,如“/”,“/home”,

2021-02-20 17:22:59 321

原创 C++学习笔记----生成随机数

文章目录1.随机数引擎类:default_random_engine2.随机数发生器3.随机数引擎种子4.随机数生成案例随机数生类定义在头文件random中C++中的随机数生成采用两个类来解决,随机数引擎类和随机数分布类。一个随机数引擎类生成一个随机数序列,一个分布类使用随机数引擎类的序列生成指定类型、范围、服从特定概率的随机数。1.随机数引擎类:default_random_engine随机数引擎生成一个随机数序列 default_random_engine e;//随机数引擎 f

2021-02-20 13:11:52 454

原创 C++学习笔记----tuple

文章目录1.tuple的操作2.tuple定义和初始化3.tuple成员的访问方式4.tuple关系运算tuple可以存储不同类型的对象在一个tuple对象中,不同于pair,tuple可以储存多于两个的数据。tuple相关的操作和定义都是定义在命名为tuple的头文件中的。1.tuple的操作上表中的操作是tuple中常用的操作,tuple的使用主要用于函数的返回值,如果一个函数想要返回多个不同的数据类型的返回值,就可以用tuple进行返回。2.tuple定义和初始化显式定义初始化显式定义一

2021-02-19 13:13:38 604 1

原创 vim学习笔记

1.vim的模式两种基本模式vim有两种基本模式,分别是normal模式和insert模式,normal模式下键盘输入的都将作为命令,其他任何模式都可以通过esc键返回到normal模式。insert模式用于从键盘输入数据。可以通过a A i I o O进入插入模式,不同的按键的作用见下表:两种常用模式:vim还有两种常用的模式,分别是command-line模式和Visual模式。命令行模式可以在一般模式下按 /、?、: 等进入命令行模式,比如设置行号的命令为“:set nu”。可以通过esc

2021-02-18 22:48:33 130

原创 vs调试C++弹出窗口抛出异常:Debug Assertion Failed!Expression:vector subscript out of range xxxxxxx

运行c++代码时产生以上的错误,这种错误的引起原因一般是操作了无效的内存导致的,比如:vector<int> temp={1,2,3,4,5};temp.clear();temp[0];//当把一个容器清空后,如果用下标随机访问将会导致异常一般使用无效的迭代器也会导致访问无效的内存,具体什情况下迭代器会失效可以参考:STL顺序容器...

2021-02-18 10:10:57 3171

原创 C++学习笔记----string的操作(substr、find、compare等)

string也是STL的一种,但是string的使用很广泛,因此,string比其他的STL容器有更多的操作函数和方法。1.构造string的方法除了上述STL容器的共有操作外,string还定义了其他的构造方法来初始化其对象。2.子串substr操作substr操作方法返回string对象的子部分的一个拷贝,其两个参数,分别是起始位置和子串的长度。如果起始位置超过原有string的大小将会抛出out_of_range异常。3.改变string的方法修改string对象的方法有很多,主要

2021-02-17 17:40:08 548

原创 C++学习笔记----STL顺序容器(vector、deque、list等)

1.顺序容器的类型顺序容器是C++语言STL中的重点,顺序容器提供了一种处理多个对象的快捷方法。顺序容器的类型如下:除了list和forward_list其他的元素都存放在连续的内存空间中。具体改使用哪种容器应该根据使用的方式来判断,如果需要随机访问则使用vector或者deque,如果使用频繁的插入元素则应该使用list,主要根据操作的类型选择容器。一般情况下使用vector,除非有更好的理由选择其他的容器。每个容器都定义在一个头文件中,一般该头文件的名字就是该容器的名字。2.迭代器以及容器的

2021-02-10 10:03:12 329 1

原创 vi编辑器实现从一个文件将文字复制到另一个文件中

我们在用vi编辑器时,通常用数字+yy的方式进行复制,其中数字表示行数,但是这样复制的只能在当前打开的文件中进行粘贴,如果想要复制到另一个文件中则需要保存退出打开另一个文件将光标移到想要粘贴的地方进行按p 进行粘贴。其实可以实现多个段落的复制粘贴,我们用一个变量名来存储我们想要复制的一个段落。我们在普通模式下输入命令实现多个段落的复制,然后保存并退出文件,再打开其他文件进行复制粘贴。具体案例以及操作步骤:现在想要把上面的第二个文件补全和第一个一样,我们采用行复制的方式进行补全1.打开第一个文件将

2021-02-08 21:38:56 3302

原创 c++学习笔记----派生与继承

1.继承的三种方式以及继承的防止派生类继承基类一共有三种方式,分别是public、private、protected。采用哪种方式继承则相应的派生类将会赋予从基类继承的成员的相应的权限。首先,每个派生类只能继承基类的共有成员(public区域的成员),但是每个继承方式有以上三种。class Derived:public Base;//公有继承class Derived:private Base;//私有继承class Derived:protected Base;//保护继承公有继承将会把从

2021-02-05 19:23:41 293

原创 C++学习笔记----运算符重载

1.概述自定义类可以重载运算符,大多数的运算符都是可以重载的,下表给出了那些运算符可以重载那些不可以重载。对于运算符的重载,我们需要明白运算符是如何调用的。//非成员函数的运算符调用d1+d2;//表达式方式调用operator+(d1,d2);//等价的调用//成员函数的运算符调用方式d1+=d2;//运算符调用d1.operator+=(d2);//等价的调用成员函数和非成员函数的选择在《c++primer》中有以下准则:对于重载函数是否应该是成员函数,在具体的操作符重载时进

2021-02-04 18:43:31 159 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除