自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 智能指针

智能指针 我之前我们谈异常的时候,异常有异常安全的问题。详细请看之前的异常  https://blog.csdn.net/Amour_Old_flame/article/details/86759959 我们提出了RAII的解决方案,那么什么是RAII呢?是一种利用对象生命周期来控制程序资源(如内存、文件句柄、网络连接、互斥量等等)的简单技术在对象构造时获取资源,接...

2019-02-04 13:33:20 224

原创 C++之异常

异常:       异常是一种处理错误的方式,当一个函数发现自己无法处理的错误时就可以抛出异常,让函数的直接或间接的调用者处理这个错误。 C语言中的错误处理在我们的C语言中遇到了错误通常有这三种处理方法1.程序终止:比如程序异常,出现了除0错误。还有断言assert引起的终止。2.返回错误码,然后需要我们自己去查对应的错误。3.C 标准库中setjmp和longjmp...

2019-02-03 18:37:52 254

原创 C++之多态

多态的知识有以下几点 1.什么是多态?     简单来说就是不同的对象去完成同一个行为会产生不同的结果。举个例子:国庆去华山游玩,一般的成人要买全价票,而我们学生买票买学生票。这就是两种不同的对象都去买票但是产生的结果却不同,一个是全价票一个是学生票。 2.如何使用多态?使用多态有两个前提条件1.调用函数的对象必须是指针或者引用2.调用的函数必须是虚函数,而且完...

2019-01-24 16:04:54 164

原创 菱形继承和虚拟继承

菱形继承      当我们对继承有了一定了解就可以探究更复杂的继承关系,菱形继承就是一种复杂的继承。首先先了解几个概念单继承:一个子类只继承了一个父类。多继承:一个子类继承了多个父类菱形继承就是他们的继承关系形成了一个菱形,如图。我们再通过代码才说明一个问题。class Person{public: string _name = "djh";};...

2019-01-16 16:32:36 232

原创 C++继承-基础篇

1.继承的概念:代码的复用                  继承(inheritance)机制是面向对象程序设计使代码可以复用的最重要的手段,它允许程序员在保持原有类特性的基础上进行扩展,增加功能,这样产生新的类,称派生类。继承呈现了面向对象程序设计的层次结构,体现了由简单到复杂的认知过程。以前我们接触的复用都是函数复用,继承是类设计层次的复用。    2.如何继承呢?#inclu...

2019-01-16 14:49:58 145

原创 信号

1.认识信号:     信号: 用来通知进程发生了异步事件。进程之间可以互相通过系统调用kill发送软中断信号。内核也可以因为内部事件而给进程发送信号,通知进程发生了某个事件。注意,信号只是用来通知某进程发生了什么事件,并不给该进程传递任何数据。我们通过终端命令查看所有信号 其中1-31我们称为普通信号34-64是实时信号 2.谁发出了信号?信号是怎么表示的? ...

2019-01-15 18:22:56 128

原创 静态库和动态库

1.了解静态库和动态库 动态库:程序在运行时才会去链接动态库的代码,多个程序共享使用库的代码。  后缀名一般是.so静态库:程序在编译链接的时候把库的代码链接到可执行文件中,程序运行的时候不再需要静态库。  后缀名一般是.a简言之就是动态库在程序运行时才去库里加载需要的代码,而静态库在链接时就已经把需要的代码加载到自己的程序里。 这点也造成了二者各有优缺点动态库优点...

2019-01-15 16:59:57 185

原创 模板

1.函数模板:                   函数模板代表了一个函数家族,该函数模板与类型无关,在使用时被参数化,根据实参类型产生函数的特定类型版本函数模板的格式:template<typename T1, typename T2,......,typename Tn>这就是函数模板的格式下面我们来看一个简单的交换函数模板的实现template<...

2018-11-15 16:54:26 156

原创 类的6个默认成员函数

类的6个默认成员函数:如果我们定义了一个类,里面什么都没有,就是空类?可是空类里面真的什么都没有吗?其实并不是这样的,任何一个类在我们不写的情况下他都会自动生成6个默认成员函数。class Date{};1.构造函数:构造函数的名字与类的名字相同,用类创建对象时由编译器自动调用,可以用来初始化对象。特性:1.构造函数的名字和类的名字相同2.构造函数没有返回值...

2018-11-05 22:04:06 338

原创 进程间通信

进程间通信:我们可以直观的理解成让两个进程进行通信。也可以这样理解: 两个不同的进程看到同一份公共的资源。 为什么进程间要通信呢?1数据传输:一个进程需要把数据发送给另一个进程2.资源共享:多个进程之间共享同样的资源3.通知进程:一个进程需要向另一个或另一组进程发送信息,通知他们某时间(比如说我们的子进程退出要通知父进程) 下来我们就来说说用管道实现进程通信的方...

2018-11-04 20:26:50 167

原创 C/C++内存管理

首先来看一下C/C++中内存的分布栈区:又称作堆栈,非静态局部变量,函数参数,返回值都是保存在栈区的,函数栈帧的建立也是在栈区的一般栈区的大小只有十几M堆区:用于动态内存分配的区域,在C语言中我们通过malloc申请出来的就是堆上的空间,堆区比较大32位的平台下一般是2个G左右。数据段:存放静态数据和全局数据的。代码段:存放可执行的代码和只读常量。 了解完内存的分布...

2018-11-04 20:07:51 185

原创 C++之类和对象基础认知

类是什么呢?类我们可以认为是C语言中结构体的升级版本,因为C语言中的结构体只能定义变量,而在类中我们还可以定义函数。为什么要出现类呢? 首先我们先说一下C++和C语言的一些区别C语言是面向过程的,关注的是过程,分析出求解问题的步骤,通过函数调用逐步解决问题。C++是基于面向对象的,关注的是对象,将一件事情拆分成不同的对象,靠对象之间的交互完成 比如我们养了一堆小狗,...

2018-11-03 13:22:11 182

原创 C++发展历史及基础知识

C++的发展历史:     1979年,贝尔实验室的本贾尼等人试图分析unix内核的时候,试图将内核模块化,于是在C语言的基础上进行扩展,增加了类的机制,完成了一个可以运行的预处理程序,称之为C with classes。语言的发展就像是练功打怪升级一样,也是逐步递进,由浅入深的过程。C++是C语言的继承,它既可以进行C语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程...

2018-10-25 16:16:45 351

原创 进程的创建等待和终止

进程的创建:       在Linux下 fork 函数 可用于创建进程,他从已存在的进程中创建一个新的进程。新进程为子进程,原进程为父进程.该函数没有参数返回值类型为 pid_t, 返回值如果小于0说明进程创建失败,返回值如果等于0则说明是子进程,返回值如果大于0则是父进程。(父进程返回的是子进程的pid)fork之后就会有两个二进制代码相同的进程,而且都运行到相同的地方。下面我们来...

2018-10-23 17:29:22 212

原创 调研调度算法

 调度算法:        根据系统的资源分配策略所规定的资源分配算法。对于不同的的系统和系统目标,通常采用不同的调度算法,例如,在批处理系统中,为了照顾为数众多的段作业,应采用短作业优先的调度算法;又如在分时系统中,为了保证系统具有合理的响应时间,应当采用轮转法进行调度。目前存在的多种调度算法中,有的算法适用于作业调度,有的算法适用于进程调度;但也有些调度算法既可以用于作业调度,也可以用于进...

2018-10-17 17:08:42 404

原创 leetcode-8 实现Atoi

实现 atoi,将字符串转为整数。该函数首先根据需要丢弃任意多的空格字符,直到找到第一个非空格字符为止。如果第一个非空字符是正号或负号,选取该符号,并将其与后面尽可能多的连续的数字组合起来,这部分字符即为整数的值。如果第一个非空字符是数字,则直接将其与之后连续的数字字符组合起来,形成整数。字符串可以在形成整数的字符后面包括多余的字符,这些字符可以被忽略,它们对于函数没有影响。当字符串中...

2018-10-02 12:07:18 162

原创 leetcode-35 搜索插入位置

给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。你可以假设数组中无重复元素。示例 1:输入: [1,3,5,6], 5输出: 2示例 2:输入: [1,3,5,6], 2输出: 1示例 3:输入: [1,3,5,6], 7输出: 4示例 4:输入: [1,3,5,6], 0输...

2018-09-28 16:04:14 200

原创 Linux进入目录需要哪些权限, 在目录中执行增删查(cd, touch, ls, rm, mv等)改文件动作, 需要哪些权限.

  一.Linux下三个文件的基本权限1.r : 代表可读2.w :代表可写3.x :代表可执行当我们输入pwd时就会显示当先目录然后ll就会显示出所有文件的信息  开头的那部分就表示我们的权限  首先是开头第一个字母代表的是文件的类型在Linux下认为一切外设也都是文件1.d:目录文件,也就是上面图片中的代表目录文件就相当于一个目录2.b:块设备文件,就是存储...

2018-09-26 16:47:17 188

原创 Linux 下的编辑器和编译器对比

除了vim, 还有哪些常用的牛逼的编辑器vimVim是一个类似于Vi的著名的功能强大、高度可定制的文本编辑器,在Vi的基础上改进和增加了很多特性。VIM是自由软件。Vim普遍被推崇为类Vi编辑器中最好的一个,事实上真正的劲敌来自Emacs的不同变体。1999 年Emacs被选为Linuxworld文本编辑分类的优胜者,Vim屈居第二。但在2000年2月Vim赢得了Slashdot Bea...

2018-09-20 17:48:31 554

原创 Linux环境下基础开发工具-vim

一.Linux 编译器——vim的使用这就是vim的键盘图vim是一款在Linux 操作系统下的编译器vim有三种基本模式分别是:1.命令模式  :控制屏幕光标的移动,字符,字或行的删除,移动复制某区段,或者到末行模式下或插入模式。2.插入模式  :只有在插入模式下,才可以编辑代码进行输入,按ESC可推到命令模式。3.末行模式  :文件保存或推出,也可以进行替换,找字符...

2018-09-18 16:54:46 184

原创 二叉树的创建和基本操作

二叉树的基本单位和链表一样是以节点为单位二叉树的节点的存储分为3个部分1.存放数据     2.存放指向左子树的指针   3.存放指向右子树的指针typedef char TDateType;typedef struct BinaryTreeNode{ TDateType date; struct BinaryTreeNode *left; //指向左子树的指针 str...

2018-08-21 23:13:28 958

原创 谈一谈指针数组数组指针还有函数指针数组

首先我们先了解一下数组和指针的基本概念。、数组:顾名思义 ,是一类相同类型元素的集合,指针:指针是一个特殊的变量,它里面存储的数值被解释成为内存里的一个地址.#include <stdio.h>int main(){ int arr[5];//数组的创建 元素类型为 int 有5个元素。 int *p;//指针的创建,指向为 int 型的一个指针 return 0;}下...

2018-05-21 16:00:14 106

原创 函数的调用过程

 函数的声明和定义很容易理解,接下来我们来讲讲函数的调用的过程。先插入简单的一段代码。#include <stdio.h>int Add(int x, int y){ int z = 0; z = x + y; return z;}int main(){ int a = 10; int b = 10; int ret = Add(a,b); printf("re...

2018-05-05 14:42:31 478

原创 用C语言实现一个简单的三子棋小游戏

将在一个3乘3的棋盘上进行三子棋游戏一.头文件#ifndef _GAME_H_#define _GAME_H_#include <stdio.h>#include <string.h>#include <time.h>#include <stdlib.h>#define ROW 3#define COL 3void Print(...

2018-04-24 22:39:13 198

原创 C语言中的操作符解析

C语言中的操作符首先来个系统的分类吧1. 算数操作符     2.移位操作符     3.位操作符    4.赋值操作符    5.单面操作符6.关系操作符      7.逻辑操作符     8.条件操作符 9.逗号表达式    开始正文了:1.算数操作符:      +      -       *       /       % + - * /这四个操作符可用于整数或浮点数,但对于%两个数必须...

2018-04-06 22:37:34 148

空空如也

空空如也

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

TA关注的人

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