NeilZhy

与人为善,天道酬勤

五种IO模型

五种IO模型 在进程使用磁盘的数据的时候,需要用到几个空间 磁盘 内核缓冲区kernel buffer 用户缓冲区app buffer 其中内核缓冲区和用户缓冲区都属于内存的范畴,首先内核需要将数据从磁盘拷贝到内核缓冲区,然后再从内核缓冲区拷贝到用户缓冲区,接下来才能够被用户进...

2018-08-16 07:51:24

阅读数:51

评论数:0

模板1.0 -- 模板基本原理

为什么需要模板 我们经常有这样的一种使用的情形,就是我们可能需要设计一个函数,然后函数的参数可能是整形的,也可能是浮点型的,还有可能是其他的类型的,这个时候如果对于每一个类型都写一个函数,未免有点太复杂了 我们有以下几个方法来实现一个函数针对不同的类型都能够实现 法一:通过函数重载实现...

2018-01-05 10:00:49

阅读数:362

评论数:1

二叉树 2.0 -- 非递归遍历

二叉树递归遍历的问题 二叉树的非递归遍历实现和浅析

2017-10-10 14:15:50

阅读数:354

评论数:0

二叉树 1.0 -- 创建二叉树、遍历二叉树、二叉树常见问题求解

树 二叉树的结构 创建一个树 二叉树的遍历 二叉树的各种求解

2017-09-28 17:25:59

阅读数:422

评论数:2

继承和多态 3.0 -- 菱形继承

单继承和多继承 菱形继承 解决菱形继承 -- 虚拟继承 虚继承对象模型

2017-09-21 12:38:16

阅读数:229

评论数:0

继承和多态 2.0 -- 继承的六个默认成员函数

子类的构造函数 拷贝构造函数 赋值运算符的重载 析构函数

2017-09-18 17:36:53

阅读数:386

评论数:0

STL模拟实现1.0 -- list和iterator模拟实现和简单分析

iterator迭代器 简单模拟实现STL 中的list

2017-09-15 19:48:16

阅读数:331

评论数:0

设计1.0 -- iterator 和const_iterator底层的模拟实现

STL中迭代器和const迭代器的模拟实现 分析设计迭代器的时候为什么给他设计了三个模板参数

2017-09-15 17:23:34

阅读数:291

评论数:0

继承和多态 1.0 -- 继承概念(is-a、has-a,赋值兼容规则,隐藏重定义)

普通继承和访问权限 问题:没有合适的构造函数 is-a和has-a 赋值兼容规则 -- 必须是公有继承(is-a) 重定义 -- 把父类成员隐藏起来

2017-09-14 16:56:42

阅读数:493

评论数:0

Effective C++ 1.0 -- 概述

声明对象声明,函数声明,类型声明,是告诉编译器某个东西的 名称和类型,但是略去了实现 细节,因为定义在其他的地方。external int x; //对象(object)声明 std:size_t numDigits(int number) //函数 声明 class Wid...

2017-09-14 12:50:23

阅读数:324

评论数:0

动态内存管理和智能指针 2.0 -- shared_ptr

shared_ptr出现原因通过第一章的学习,我们知道不管是auto_ptr合适scoped_ptr都是存在缺陷的,于是我们必须想出一个方法既能很好的管理我们的内存,而且在使用的时候,可以多个指针指向一个内存,这个时候就出现了shared_ptr。shared_ptr的实现原理shared_ptr...

2017-09-11 20:54:16

阅读数:406

评论数:0

智能指针1.0

一.使用普通的动态内存开辟存在的问题 我们在使用动态内存开辟一个空间的时候,需要释放掉这个空间,不然就容易出现内存泄漏。 比如下面的程序 情况一: #include using namespace std; int errorTest() {          intflag = ...

2017-09-01 17:01:28

阅读数:274

评论数:0

模板的分离编译

模板不支持分离编译 我们来分析一下模板为什么不支持分离编译呢,所谓的分离编译就是我们在编写程序的时候可能会出现如下的一种情况就是,(我下面就是举具体的例子了) 代码 //*****************template.h***********// #include using name...

2017-09-01 14:24:22

阅读数:385

评论数:0

哈希--直接定值法和除留取余法

1. 哈希是一种算法,哈希表是用哈希算法构造出来的一种数据结构 2. 哈希算方法的几种方法 直接定值法 这里有一个例题,就是我们想判断某一字符串中,某一个字符出现的个数,我们可以使用哈希的思想,就是可以遍历一遍字符串,然后开辟一个拥有26数据的整型数组,然后初始化全部为0,然后统...

2017-08-07 16:38:15

阅读数:1319

评论数:0

程序的编译和链接过程

一.虚拟机、linux简介 简单介绍一下虚拟机还有就是各种操作系统,比如centos,Ubuntu 操作系统:linux(centos、Ubuntu、redhat),Android,Windows(xp、win8、win10) 进程,多个程序,分时技术,并行技术 一次打开多个程序,我们在只...

2017-07-23 16:48:13

阅读数:594

评论数:0

谁知道静态成员的纠结心境

我们在实际开发的过程中,可能需要某些类的成员变量并不是针对每一个对象的,而是针对每一个类而言的,比如在银行中有一个利率数据,我们希望的是,当一个利率改变的时候,所有的对象都能够看到这个改变的数据,并利用它,而不是每一个对象都有一个利率成员变量。这个时候就设计到了静态成员变量。 一. 内存...

2017-07-20 15:47:49

阅读数:443

评论数:0

《C++primer》第二章--变量和基本内置类型

基本内置类型 如何选择类型的几点建议 当明确知晓数值不能为负数时,选用无符号类型 使用int进行整数运算。因为short一般表示的范围比较小,而long一般和int有相同的范围。如果表示的范围超过了int就使用long long 算术运算时尽量不要使用char和bool,只有在存放字符型数据和布...

2017-04-09 12:43:26

阅读数:561

评论数:0

《C++primer》第一章--开始

《C++primer》读书心得体会 内容理解和思考 重要知识笔记 初识标准输入输出 注释不能嵌套 for循环的执行过程

2017-04-03 14:15:40

阅读数:704

评论数:1

杂记5

1. 定义C++函数 在定义C++函数的时候我们尽量把这个函数里面的参数赋初值,还有就是构造函数中尽量去使用初始化成员列表去初始化这个成员变量

2017-03-12 15:29:40

阅读数:415

评论数:0

C++运算符重载

C++的运算符重载是它的一个特性,方便我们结果很多问题,也符合我们平时使用的一个习惯,但是运算符重载中有很多的问题,下面的代码尤其是注释部分很好的解释了这些问题 #include using namespace std; class Complex { public: Complex(doub...

2017-03-09 10:46:17

阅读数:396

评论数:0

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