自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 收藏

https://www.cnblogs.com/lancidie/p/6258174.html

2020-02-21 21:18:33 204

原创 标准模板库学习(6)----算法之修正序列算法

修正序列算法有可能会改变容器的内容,比如复制内容到容器中。下面来了解一下这类算法。fill(start,end,i)将start和end区间的元素改成i。 fill(v.begin(), v.end(), 20); for_each(v.begin(), v.end(), outPut);random_shuffle(start,end)将区间内部的元素打乱。 ran...

2020-02-20 15:46:31 295

原创 标准模板库学习(5)----算法之非修正序列算法

算法是STL的中枢,STL提供了算法库,算法库都是模板函数

2020-02-20 13:40:09 381

原创 ERROR:C3848

ERROR:C3848:具有类型“const MyCompare”的表达式会丢失一些 const-volatile 限定符以调用“bool MyCompare::operator ()(int,int)” 出错语句:bool operator()( int v1, int v2)改为:bool operator()( int v1, int v2)const...

2020-02-19 17:05:33 438

原创 标准模板库学习(4)----结合容器

序列容器list容器list容器是将数据进行链式存储,首先我们要知道链表是什么,链表是由一系列结点组成的、在物理存储单元上非连续的存储结构,数据元素中的逻辑顺序是通过链表中的指针链接实现的,这是因为链表(list)是不支持随机访问的,只支持前置和后移,是一个双向迭代器。不论是插入数据还是删除数据所花费的时间都是固定的,与数据在list容器中的位置无关。list和vector容器用法基本...

2020-02-19 16:25:51 419

原创 标准模板库学习(3)----deque容器

序列容器deque容器deque容器又被称为双端队列、双端数组,它可以在其开始端进行数据的插入以及删除等操作。相比较于vector容器,deque在首段的数据的插入删除方面技高一筹,但是vector容器访问元素的速度比deque容器要快,不过二者的迭代器都是支持随机访问的,也就是说二者的迭代器时最强的那种迭代器。deque构造函数这一部分和vector容器所差无几,大家可以自己练一...

2020-02-18 16:01:01 183

原创 标准模板库学习(2)----vector容器

容器的概念我们已经知道了,下面从序列容器和结合容器两部分来进行学习。序列容器vector容器基本用法vector是STL中最常用的容器,和数组差不多,在必要的时候可以自动增大容量,在其随机位置上插入数据会使得系统开销巨大。我们先来了解一下vector的用法。首先创建一个vector容器,加上头文件<vector>vector<int> v; //创建...

2020-02-17 19:28:40 245

原创 标准模板库学习(1)----什么是STL

写在前面先跳过类和对象部分,我们先来了解一下C++中的标准模板库。标准模板库,Standard Template Library,简称STL。STL作为C++的补充,包括了容器、算法和迭代器等内容,可以使得编程更加高效和简洁。容器实现了多个类型的数据结构和一些相关操作;算法提供了排序、查找、替换等功能,容器和算法之间则是通过迭代器进行衔接,首先我们来学习容器。容器序列容器...

2020-02-17 11:35:17 233

原创 删除排序数组中的重复项

1、删除排序数组中的重复项题目:给定一个排序数组,你需要删除重复出现的元素,使得每个元素只出现一次,返回移除重复元素之后的数组长度。题目要求很清晰,比如一个数组a[3] = { 1,1,2 };这个数组长度为3,执行代码后返回值为2,元素被修改为1、2。我们要注意到,数组作为参数传参的时候,是以“引用”的方式传递,在函数中修改数组的时候,输出的数组会发生改变。我们来实...

2020-02-16 18:50:31 278 1

原创 模板学习(3)----类模板与继承

类模板--继承类模板既然和类沾边了,那么继承就少不了它的。一般来说,类模板的继承分为两种情况,一是子类模板继承于父类模板,二是子类继承于父类模板。主要在于,如果子类的父类是一个类模板的时候,在子类进行声明的时候需要将父类模板的类型T一并指定出来;如果子类也是一个模板,那么就可以很灵活的指定父类模板的类型T了。template<class T>class Father{ ...

2020-02-16 18:48:06 661

原创 模板学习(2)----类模板

类模板模板的作用我们已经知道了,类模板的作用就是建立一个可以公用的类,这个类模板里面的成员及其数据类型不用制定,同样是由一个虚拟的类型来表示的。类模板中的数据成员以及成员函数的参数和返回值都可以进行任意数据类型的选择,一个类模板定义好之后,可以减少定义声明符合该模板的类的数量。类的使用如下:template<class T>类由此可以看出函数模板和类模板之间的区别很...

2020-02-16 12:57:12 529

原创 模板学习(1)----函数模板

模板是什么模板大家都知道,比如我们找工作的时候需要做简历,简历里面有些东西是写好的,比如姓名、年龄等,这些定义好的东西,只需要我们将自己的信息填进去就行,不需要再去写上姓名或者年龄这些字样。这就是模板。C++中的模板也是这样的功能,模板作为一个搭建好的框架,可以很方便的帮助我们进行编程。C++中的模板主要分为函数模板和类模板两类。函数模板函数模板不是一个实实在在的函数,有点滑头,函数模...

2020-02-15 18:00:42 241

原创 为什么我要刷leetcode!

从今天开始我会每天坚持刷leetcode,为什么要这么做呢?其实也是闲的哈哈哈哈,被病毒困在家里那里也去不了,那就不如来刷代码吧!其实不管是C++还是C还是java等各种各样的计算机语言,这本质也是语言,就像我们学习英语一样,需要背单词、记句式、做习题,计算机语言也是一样的,需要我们背诵、熟记和使用,熟练使用的前提是你懂了,然后再通过大量题目的训练来强化记忆和使用,达到一种“肌肉记忆“的效果,就是...

2020-02-14 20:45:29 783

原创 结构体学习(2)----结构体进阶

写在前面前面我们已经讲过了结构体的基础,结构体的概念、基本使用方法以及结构体的大小都进行了介绍,下面就要谈到结构体在函数中的使用,作为一种构造数据类型,其使用方法也不是那么高深莫测,可以通过尝试对比一下与基础数据类型的用法,学会结构体在函数中的使用。结构体变量传参传参我们知道,值传参、指针传参和引用传参,结构体变量作为函数参数进行传参操作也一样的,只不过结构体变量作为参数的时候,函数中...

2020-02-13 19:17:54 528

原创 结构体学习(1)----结构体基础

写在前面在数组、指针、引用介绍完毕后,今天开始一个新的模块的学习,结构体。不论是C还是C++都是有结构体的,在项目中结构体也是经常遇到的。我们看一些大神的程序,上来先给你列一个结构体,哇,瞬间就被征服了,这个人好牛。其实结构体并没有那么复杂,作为人工设计的数据类型,结构体是会更加方便的人们对项目的开发和程序的维护。下面我们就来了解一下结构体。认识结构体结构体是一种数据类型,但是这种数据...

2020-02-12 21:08:55 357

原创 引用学习(2)----引用传参及优势

参数的传递前面讲过有值传递和指针传递,其实引用也是可以进行参数传递的,并且在工作和项目中,引用传参是一种比较常用并且比较好理解的方式。下面我们进入引用传参之路。。。在上路之前,先回顾一下值传递和指针传递。值传递:在函数调用时,将实际参数的值复制出来一个作为分身传入到调用的函数中,在调用函数中修改参数的值不会影响到实际参数的值。指针传递:在函数调用时,将指针变量复制出来一个分身,这个分身...

2020-02-10 22:12:49 927

原创 引用学习(1)----初识引用

前言引用和指针的区别,是我在找工作过程中遇到最多的问题之一。其实也不难理解,引用其实也是一种指针,称之为隐式指针。继指针之后,我下面会对引用进行介绍,彻底干掉这个问题。认识引用引用的定义引用是一种隐式指针,为对象取一个新名字,通过&操作符号来实现。如:int a = 10;int& b = a;这里面,b就是a的引用。对b执行的操作和对a执行操作得到...

2020-02-10 18:40:32 346

原创 指针学习(7)----补充和总结

绪论之前讲的关于指针怎么使用方面的东西也差不多了,这里会对前面所讲的内容进行总结和提炼,并且会对指针使用过程中需要注意的问题进行说明,达到安全使用指针的目的。总结一、指针的概念指针,一种数据类型,这个类型的变量专门用来存放地址,这叫做指针变量,简称指针。这里要注意,我们常说的指针全称是指针变量,指针变量的数据类型是指针。说一个指针的数据类型是指针这样的话有点蠢,总之,你搞懂就行啦。...

2020-02-10 12:47:19 199

原创 指针学习(6)----函数中的指针使用

指针在数组中的作用前面已经介绍过了,但是指针在函数中如何兴风作浪并没有提到,因此在这里,会对指针在函数中的作用进行阐述。特别是在函数传参方面的应用,最简单的或许也是我们目前见的最多的就是值传递的方式,当一个实参进入到函数中后,进行动作的是实参的一个分身,这个分身你可以对他进行值改变等操作,但是呢不会影响到函数体外实参的值大小。但是指针传参的时候,指针变量会产生一个分身,这个分身和原来的指针变量...

2020-02-09 20:32:07 235

原创 指针学习(5)----字符数组与指针

字符数组是一个一维数组,使用字符指针可以对字符数组进行引用,字符指针就是指向字符型内存空间的指针变量。定义:char *p;字符数组是一个字符串,通过字符指针可以指向一个字符串。如:char *str="hello world";,这种方法是简单操作的。老规矩还是看例子来理解一下:#include <iostream>using namespace std;...

2020-02-08 15:50:13 233

原创 指针学习(4)----指针和一、二维数组

前面介绍数组的时候我们采用的引用方法是通过数组的下标,其实比较常用的方法是通过指针来引用数组。首先我们得知道数组在内存中的存储方式。不管是一维数组还是二维数组,数组中的元素被连续存储在连续的内存中,每一个内存都有自己的地址,指针变量可以存放地址,通过将数组的地址赋值给指针变量,就可以引用数组。首先来通过一个实例来进行了解指针引用数组。#include <iostream...

2020-02-07 15:05:04 198

原创 指针学习(2)----指针的简单运算和空指针

指针的运算是我找工作面试的过程中最常见的类型之一。先来一个题:#include<iostream>using namespace std;void main(){ int a = 100; int* p = &a; printf("地址是:%p\n", p); p++; printf("地址是:%p\n", p); p--; printf("地址...

2020-02-04 16:20:14 437

原创 指针学习(3)----指针常量和常量指针

这两个概念在学习过程中经常搞混,自己在找工作的过程中也没少遇到。下面简单讲一下这两个的区别。指针常量:int * const p常量指针:int const *p就形式上来看,我对它的记忆方法是:*代表指针,const代表常量,按照顺序将其读出来就可以知道哪一个是指针常量,哪一个是常量指针。对于指针常量来说,int *表示p的数据类型,const表示这个数据本身就是常量。指针常量的...

2020-02-04 15:34:37 173

原创 指针学习(1)

指针是C和C++中和重要的组成部分,怎么理解指针呢?首先来看一下内存、指针和变量的关系。内存可以比作是很多很多已经编号了的小球,你想用内存的时候就要知道小球的编号。比如说int i,这是一个整型变量,占用4个字节。如果每一个小球就是一个字节的话,那么就需要使用四个小球。变量连续的存储在内存中。程序代码进行执行的过程中,比如在执行两个整型变量i、j相加的时候,首先去寻找 i 的首地址,从该地...

2020-02-03 21:40:32 182

原创 数组学习(4)----字符串处理函数

提到数组,和字符串就脱不了干系,提到字符串,就离不开字符串处理函数。一、stract函数字符串处理函数就是将两个字符串进行连接。用法:stract(A,B);就是将B连接在A的后面。#include<iostream>#include<string>using namespace std;void main(){ char str1[30]...

2020-02-03 15:41:43 1342

原创 数组学习(3)----字符数组

顾名思义,字符数组就是用来存放字符数据的数组,字符数组中每一个元素存放一个字符。字符数组作为数组的一种,数组的所有性质它都有。在我找工作面试的时候,有很多的题目都是有关于字符数组的,因此这里会对其进行详细的介绍和学习。同样的,首先是声明数组:char Aword[10];对字符数组的初始化跟其他数组一样,逐一赋值和统一赋值。逐一赋值:char Aword[10]; Aw...

2020-02-02 12:35:35 281

原创 数组学习(2)----二维数组

二维数组和一维数组的区别在于:一维数组描述的是一个线列,二位数组描述的是一个矩阵。同样的开始老三步,声明、引用以及初始化。声明int a[2][3];float b[4][5];数组a表示一个2行3列的矩阵,数组b表示一个4行5列的矩阵。二维数组是具有两个下标的数组,两个下标的乘积代表数组的长度。比如说数组a的长度为6,数组b的长度为20。同样的,二维数组的大小不可动态定义。...

2020-01-30 12:41:09 551

原创 数组学习(1)----一维数组

病毒感染期间,在家实在无聊,将自己学习C++过程中遇到的一些想法和困难分享一下,也让自己加强记忆和使用,相信这个过程中还会有不少的心得和体会,分享于此,与君共勉!某才疏学浅,还请各位不吝指教。闲话不说,数组是C++里面一个十分重要的概念,我们先从最简单的一维数组讲起。数组,顾名思义,数据的组合,计算机语言中的数据有不同的类型,将类型相同的数据放在一起,这就是数组。对于数组来说,使用起来都要...

2020-01-29 18:02:54 217

原创 static变量的用法

在变量面前加static,该变量则被声明为静态变量。静态变量属于静态存储方式,特点如下:(1)静态变量在函数内定义,在程序退出时候自动释放,在程序的整个运行期间都不释放,即其生存期为整个源程序执行期(2)静态变量的作用域和自动变量的相同,在函数内定义就砸函数内使用,尽管该变量还继续存在,但是不能使用它,如果再次调用定义它的函数时,它又可以继续使用。(3)编译器会为静态局部变量赋予0...

2020-01-29 15:19:18 1105

空空如也

空空如也

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

TA关注的人

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