c++
文章平均质量分 90
belongAL
努力的阿鲤
展开
-
c++——空间配置器
以下是阿狸对c++中空间适配器的学习总结吗,希望可以帮助到大家。什么是空间是适配器?顾名思义就是为了高效的管理空间,进行空间的申请与回收。其在我们使用c++时候,一直在默默的工作。虽然我们在日常工作中用不到,但是了解它的原理,就像了解一件事情的背后,对我们理解c++有更好的帮助。接下来就让我为大家来揭秘!为什么需要空间适配器呢?我们在c++中使用vector,map等容器的时候,所需要的空间都是需要通过new来申请的这样代码虽然可以运行,但是会有以下不足之处。1:空间的申请与原创 2020-11-11 18:05:47 · 644 阅读 · 0 评论 -
STL源码刨析——sort
以下是阿鲤对STL源码刨析中sort函数的学习总结;希望可以帮助到大家:首先看看reference-c++上是怎样对sort函数描述的由图可以看出,sort是有两个版本的;第一个版本是对区间内的所有呀元素按照从小到大的顺序排列;第二个版本则是使用了一个仿函数作为区间的排序标准的。ok,我们现在知道了sort由两个版本,那就让我们现在走进源码的世界把!版本一:template<class _RanIt> inline void sort(const _RanIt _Fi原创 2020-07-21 00:00:51 · 349 阅读 · 0 评论 -
c++之多态详解
以下是阿鲤对c++中多态的学习总结,希望可以帮助到大家1:什么是多态?2:多态的定义和实现3:多态的原理首先让我们看看什么是多态?顾名思义,就是多种形态,具体点讲就是在完成某个行为的时候,不同的对象会产生不同的状态。那么c++是怎样定义多态和实现的呢?在c++中想要构成多态,需要满足以下两个条件:1:调用函数的对象必须是指针或引用2:被调用的函数必须是虚函数,且完成了虚函数的重写举个栗子:#include<iostream>using names原创 2020-07-19 22:01:52 · 306 阅读 · 0 评论 -
高质量c++/c编程指南—内存管理篇
以下是阿鲤对高质量c++/c编程指南的读书笔记及自己的理解,分享出来希望对大家有用。这里是第七章的内容:1:内存的分配方式。2:常见的内存错误及其对策。3:指针与数组的对比。4:指针参数是如何传递内存的?5:free和delete把指针怎么啦?6:动态内存会自带释放吗?7:杜绝“野指针”8:有了malloc/free为什么还要new/delete9:内存耗尽怎么...翻译 2020-03-06 12:32:48 · 245 阅读 · 0 评论 -
高质量c++/c编程指南—之规则篇
以下是阿鲤对高质量c++/c编程指南的读书笔记,分享出来希望对大家有用。这里是前六章的内容,比较简单,可能需要花费一两个小时阅读1:文件结构2:程序的版式3:命名规则4:表达式和基本语句5:常量6:函数设计翻译 2020-02-25 12:59:45 · 481 阅读 · 0 评论 -
c++11——lambda表达式
以下是阿鲤对lambda表达式的学习总结,希望对大家有所帮助一:lambda表达式的存在意义二:lambda的语法三:lambda的原理一:lambda表达式的存在意义在c++98中我们想要给一个自定义类型的数组进行排序,我们需要设计自己的排序规则,再将排序规则传入sort函数中,如下#include<iostream>#include<string&...原创 2020-02-19 16:22:48 · 302 阅读 · 0 评论 -
c++11——右值引用
一下是阿鲤对右值引用学习的总结,希望对大家有所帮助一:移动语义二:右值引用的概念三:右值引用的使用四:完美转发一:移动语义在介绍右值引用之前,先让大家看下面这段代码#include<iostream>using namespace std;class ADD{ int m_left; int m_right;public: ADD(int...原创 2020-02-19 13:10:23 · 222 阅读 · 0 评论 -
Linux下的生产者与消费者模型
注:以下代码实现在centos7环境下一:生产者与消费者模型介绍消费者生产者模型是典型的多线程操作,具体介绍请看图文:如上图再生产者与消费者模型中,存在多个生产者与多个消费者;生产者王一个队列中生产产品,消费者再队列中消费产品;而且再生产时或消费时均有可能出现并行,所以这个队列必须是一个线程安全队列;二:模型的优点:1:解耦合,生产者模块与消费者模块并不直接交互,都仅操作...原创 2019-12-29 19:56:53 · 478 阅读 · 1 评论 -
二叉搜索树的实现(增,删,顺序输出)
这里只对删除做出部分解释 ①左右子树都有: a、左子树没有右孩子 直接让左孩子继承自己的右孩子和父亲 b、左子树有右孩子 一路向右,找到最后的一个右孩子,然后将这个孩子的 左子树挂在它父亲的右子树上,然后让它继承要删除节点的...原创 2019-11-21 20:44:55 · 354 阅读 · 0 评论 -
c++之map的简单介绍
以下是阿鲤对c++中关联式容器map容器的简单介绍,希望对大家有所帮助,若有误请慷慨指出。1:关联式容器2:键值对3:map的介绍4:map的使用1:关联式容器关联式容器中每一个元素都是一个键值对<key, value>,而每个键值对中都存在两个数据,其中的每一个key都关联着一个value,所以这样的容器成为关联式容器。2:键值对用来表示一一对应关系的...原创 2019-11-15 14:41:24 · 418 阅读 · 0 评论 -
c++的IO流的简单介绍(1:c语言的输入输出 2:流是什么 3:c++IO流 4:文件流对象)
以下是阿鲤对c++中IO流的总结,希望对大家有所帮助,若有误请慷慨指出。阿鲤将一下顺序介绍c++的IO流1:c语言的输入输出2:流是什么3:c++IO流4:文件流对象一:c语言的输入与输出C语言中用到最频繁的输入输出方式就是scanf()与printf()。scanf()是从标准输入设备读取数据,并将值存放在变量中。printf()是将指定的文字/字符串输出到标准输出设...原创 2019-11-13 13:15:00 · 481 阅读 · 0 评论 -
c++模板 进阶(1:非类型模板参数 2:模板的特化)
在看阿鲤的这篇文章之前请先看一下模板的简单介绍以下是阿鲤对模板的扩展,希望能帮到部分同学,若有误请慷慨指出。1:非类型模板参数2:模板的特化一:非类型模板参数非类型模板参数是指用一个常量作为类(函数)模板的参数,在类(函数)模板中可将该参数当成常量来使用。eg:#include<iostream>using namespace std;templa...原创 2019-11-11 18:53:48 · 243 阅读 · 0 评论 -
c++之继承的简单介绍(1:继承的概念及定义 2:基类和派生类切割和隐藏 3:继承与友元 4:继承与静态成员)
以下是阿鲤对c++中继承学习的总结,希望对大家有所帮助;若有误请慷慨指出。1:继承的概念及定义2:基类和派生类切割和隐藏3:继承与友元4:继承与静态成员5:派生类默认函数成员一:继承的概念及定义:1.1:继承的概念继承的出现是为了增加面向对象程序语言的代码复用性;它允许程序员在原来的类(基类)上进行扩展、曾强功能,从而产生一个新的类(派生类);继承是类设计层次的复用...原创 2019-11-06 17:12:24 · 391 阅读 · 0 评论 -
c++之deque的介绍及使用
以下是阿鲤堆c++中deque的总结,希望对大家有用,若有误请慷慨指出。1:deque的介绍2:deque的使用1:deque的介绍1. deque(发音类似“deck”),是双端队列不规则的首字母缩写,双端队列是动态大小的序列式容器,其可以像两端进行伸缩。2. 特定的库可以以不同的方式实现deque,但通常都是一种动态数组。不论在何种情况下,它都允许随机访问迭代器直接访问单个...原创 2019-11-02 08:54:36 · 547 阅读 · 0 评论 -
引用和指针的区别
以下是阿鲤对指针可引用区别的总结,若有误请慷慨指出。指针 引用 可以为空(所以需要进行判空) 不可以为空,必须初始化 可以改变指向 不可以改指向(但是可以改变内容) 指针++是加一个指针的大小(X86 4字节) 引用++是在值上加1 指针的大小(X86 4字节) 类型的大小 使用需要解引用(*),赋值需要& 不需要解引用,直接使用...原创 2019-10-22 18:47:54 · 136 阅读 · 0 评论 -
【c++】vector的简单介绍及使用
以下是阿鲤对vector的介绍和使用的总结,希望对大家有所帮助;若有误请慷慨指出。1:vector的介绍2:vector的使用1:vector的介绍首先我们看一下c++官网对vector介绍Vectors are sequence containers representing arrays that can change in size.Just like arrays...原创 2019-10-16 18:29:10 · 354 阅读 · 0 评论 -
c++的数据类型
c++的基本内置类型类型 关键字 布尔型 bool 字符型 char 整形 int 浮点型 float 双浮点型 double 宽字符型 wchar_t 无类型 void 其中一些基本类型可是使用 signed unsigned short long 进行修饰typedef 声明使用typedef为一个已有...原创 2019-08-18 08:13:35 · 134 阅读 · 0 评论 -
c++入门介绍上 (命名空间 ,c++的输入&输出 ,缺省参数 ,函数重载)
该总结是基于c的基础上进行的。这是阿鲤对c++基础知识所学现在分享出来;若有误请慷慨指教阿鲤将按照以下顺序进行介绍一:命名空间二:c++的输入&输出三:缺省参数:四:函数重载一:命名空间:在c++中,变量,函数,类都是大量存在的,这些变量,函数和类的名称都将存在与全局作用域中,可能会导致很多冲突。使用命名空间的目的是对标识符的名称进行本地化,以避免冲突...原创 2019-09-27 22:09:40 · 244 阅读 · 0 评论 -
c++入门介绍下 (引用,内敛函数,auto关键字,基于范围for循环, 指针空值nullptr)
看这篇文章前,请先看一下c++入门介绍上;这是阿鲤对c++基础知识所学现在分享出来;若有误请慷慨指教阿鲤将按照以下顺序进行介绍一:引用二:内敛函数三:auto关键字四:基于范围for循环五: 指针空值nullptr一:引用:1.1:引用的概念引用不是新定义一个变量,而是给已存在的变量去一个别名,编译器也不会为引用变量而开辟空间,它和它引用的变量...原创 2019-09-28 09:58:24 · 293 阅读 · 0 评论 -
c和c++中struct的区别
1:在c++中,定义结构体不需要加struct ,而c中不行2:c++struct可空 ,而c的struct不可空3:在c++中可以直接声明和定义函数,在c中只能放函数指针4:在c++中,成员函数直接可以访问本结构的成员而无需传入;/在c中函数和结构无直接关系ps:成员函数不影响结构体大小,成员函数放在公共区域...原创 2019-09-28 21:26:08 · 429 阅读 · 0 评论 -
c++之类与对象中篇(一:类的6个默认成员 二:构造函数 三:析构函数 四:拷贝构造函数 五:赋值运算符重载 六:const成员函数 七:取地址及const取地址及操作符重载)
c++类与对象上篇这是阿鲤对类与对象理解的部分总结,若有请慷慨指出一:类的6个默认成员二:构造函数三:析构函数四:拷贝构造函数五:赋值运算符重载六:const成员函数七:取地址及const取地址及操作符重载一:类的6个默认成员如果一个类中什么成员都没有,简称为空类。空类中什么都没有吗?并不是的,任何一个类在我们不写的情况下,都会自动生成下面6个默认成...原创 2019-10-03 08:28:40 · 560 阅读 · 0 评论 -
两张图带你了解c/c++中的内存分布
一:说明:1. 栈又叫堆栈,非静态局部变量/函数参数/返回值等等,栈是向下增长的。2. 内存映射段是高效的I/O映射方式,用于装载一个共享的动态内存库。用户可使用系统接口创建共享共享内存,做进程间通信。(Linux课程如果没学到这块,现在只需要了解一下)3. 堆用于程序运行时动态内存分配,堆是可以上增长的。4. 数据段--存储全局数据和静态数据。5. 代码段--可执行的代码...原创 2019-10-05 08:55:46 · 213 阅读 · 0 评论 -
c/c++——内存管理
yy以下是阿鲤对c++中内存管理的总结,希望对大家有所帮助;若有误请慷慨指出。1. C/C++内存分布2. C++中动态内存管理3. operator new与operator delete函数4. new和delete的实现原理5. 定位new表达式(placement-new)1. C/C++内存分布在这里阿鲤直接给大家上一张图2. C++中动态内存管理...原创 2019-10-05 09:14:59 · 162 阅读 · 0 评论 -
c++模板的简单介绍(1:函数模板 2:类模板 )
以下是阿鲤对模板的总结,希望对大家有所帮助,若有误请慷慨指出;下面是目录。1:函数模板2:类模板1:函数模板1.1 函数模板概念函数模板代表了一个函数家族,该函数模板与类型无关,在使用时被参数化,根据实参类型产生函数的特定类型版本。1.2:函数模板格式请先看下面的例子;#include<iostream>using namespace std;...原创 2019-10-06 08:07:14 · 244 阅读 · 0 评论 -
日期计算器
date.h# pragma once#include<iostream>using namespace std;#include<stdio.h>typedef unsigned int uint;class Date{ int m_year; uint m_month; uint m_day;public: Date(int yea...原创 2019-10-07 08:59:58 · 6274 阅读 · 0 评论 -
c++之string类的介绍及实现
以下是阿鲤对c++中string类学习的总结,希望对大家有所帮助;若有误请慷慨指出。一:string类的介绍二:string类的常用接口说明原创 2019-10-08 18:35:39 · 212 阅读 · 0 评论 -
brief introduction of c++(c++简介)
c++是一种静态类型的,编译式的,通用的,大小写敏感的,不规则的变成语言,支持过程化编程,面向对象编程和泛型编程。C++ 被认为是一种中级语言,它综合了高级语言和低级语言的特点。C++ 是由 Bjarne Stroustrup 于 1979 年在新泽西州美利山贝尔实验室开始设计开发的。C++ 进一步扩充和完善了 C 语言,最初命名为带类的C,后来在 1983 年更名为 C++。C++ ...原创 2019-08-17 09:24:32 · 334 阅读 · 0 评论