摘要: 一、死锁的概念: 1、死锁的现象描述 在很多应用中,需要一个进程排他性的访问若干种资源而不是一种。例如,两个进程准备分别将扫描的文档记录到CD上。进程A请求使用扫描仪,并被授权使用。但进程B首先请求CD刻录机,也被授权使用。这时,A请求使用CD刻录机,但这个请求在B释放CD刻录机前会被拒绝。但是,进 阅读全文
posted @ 2017-06-14 22:19 滴巴戈 阅读(540) 评论(0) 推荐(0) 编辑
摘要: 一、信号的基本概念 1.引入 计算机中常见的信号:(1) ⽤户输⼊命令,在Shell下启动⼀个前台进程; (2)⽤户按下Ctrl-C/Ctrl-Z等,这个键盘输⼊产⽣⼀个硬件中断。如此类的组合键等被操作系统解释为信号(注意,Ctrl-C产⽣的信号只能发给前台进程。 ); (3)如果CPU当前正在执⾏ 阅读全文
posted @ 2017-06-14 14:59 滴巴戈 阅读(3288) 评论(0) 推荐(0) 编辑
摘要: 一、线程概念 1、引入 我们知道,进程在各自独立的地址空间中运行,进程之间共享数据需要用mmap(将一个文件或者其它对象映射进内存)或者进程间通信机制,本篇我们将学习如何在一个进程的地址空间中执行多个线程。有些情况需要在一个进程中同时执行多个控制流程,这时候线程就派上了用场,比如实现一个图形界面的下 阅读全文
posted @ 2017-06-10 15:08 滴巴戈 阅读(449) 评论(0) 推荐(0) 编辑
摘要: 1、迭代器(iterators)概念(1)迭代器是一种抽象的设计概念,其定义为:提供一种方法,使他能够按顺序遍历某个聚合体(容器)所包含的所有元素,但又不需要暴露该容器的内部表现方式。 (2)迭代器是一种行为类似智能指针的对象, 而指针最常见的行为就是内 容提领和成员 访问。 因此迭代器最重要的行为 阅读全文
posted @ 2017-05-24 21:38 滴巴戈 阅读(550) 评论(0) 推荐(0) 编辑
摘要: 1. 什么是斐波那契数? 这里我借用百度百科上的解释:斐波那契数,亦称之为斐波那契数列(意大利语: Successione di Fibonacci),又称黄金分割数列、费波那西数列、费波拿契数、费氏数列,指的是这样一个数列:0、1、1、2、3、5、8、13、21、……在数学上,斐波纳契数列以如下被 阅读全文
posted @ 2017-05-13 20:16 滴巴戈 阅读(7539) 评论(2) 推荐(1) 编辑
摘要: 一、多态的主要特点 1、继承体系下。继承:是面向对象最显著的一个特性。继承是从已有的类中派生出新的类,新的类能吸收已有类的数据属性 和行为,并能扩展新的能力,已有类被称为父类/基类,新增加的类被称作子类/派生类。 2、子类对父类的虚函数进行重写。 3、虚表。 在面向对象语言中,接口的多种不同现方式即 阅读全文
posted @ 2017-05-12 08:59 滴巴戈 阅读(3556) 评论(1) 推荐(0) 编辑
摘要: 1. boost::shared_ptr 前面我已经讲解了两个比较简单的智能指针,它们都有各自的优缺点。由于 boost::scoped_ptr 独享所有权,当我们真真需要复制智能指针时,需求便满足不了了,如此我们再引入一个智能指针,专门用于处理复制,参数传递的情况,这便是如下的boost::sha 阅读全文
posted @ 2017-05-11 21:02 滴巴戈 阅读(4620) 评论(0) 推荐(0) 编辑
摘要: 1. 引入 C++语言中的动态内存分配没有自动回收机制,动态开辟的空间需要用户自己来维护,在出函数作用域或者程序正常退出前必须释放掉。 即程序员每次 new 出来的内存都要手动 delete,否则会造成内存泄露, 有时我们已经非常谨慎了 , 然防不胜防:流程太复杂,程序员忘记 delete;异常导致 阅读全文
posted @ 2017-05-10 22:24 滴巴戈 阅读(2553) 评论(0) 推荐(1) 编辑
只有注册用户登录后才能阅读该文。 阅读全文
posted @ 2017-05-09 12:01 滴巴戈 阅读(71) 评论(0) 推荐(0) 编辑
摘要: 前面介绍的模板有关知识大部分都是用顺序表来举例的,现在我们就专门用模板来实现顺序表,其中的很多操作都和之前没有多大区别,只是有几个比较重要的知识点需要做专门的详解。 问题一实质同下面的问题3,后面再做详细分析。 这里很有必要详解实现上面赋值运算符重载的现代写法的实现原理 :首先看上面代码(list1 阅读全文
posted @ 2017-05-02 22:40 滴巴戈 阅读(682) 评论(0) 推荐(1) 编辑