快乐十分开奖号码搜索|taiyuan快乐十分
摘要:一、可重入函数 1.可重入函数介绍 main函数调?insert函数向?个链表head中插?节点node1,插?操作分为两步,刚做完第?步的 时候,因为硬件中断使进程切换到内核,再次回?户态之前检查到有信号待处理,于是切换 到sighandler函数,sighandler也调?insert函数向同? 阅读全文
posted @ 2017-06-15 13:09 滴巴戈 阅读 (531) 评论 (0) 编辑
摘要:1. boost::shared_ptr 前面我已经?#27493;?#20102;两个比较简单的智能?#21018;耄?#23427;们都有各自的优缺点。由于 boost::scoped_ptr 独享所有权,当我们真真需要复制智能?#21018;?#26102;,需求便满足不了了,如此我们再引入一个智能?#21018;耄?#19987;门用于处理复制,参数传递的情况,这便是如下的boost::sha 阅读全文
posted @ 2017-05-11 21:02 滴巴戈 阅读 (3753) 评论 (0) 编辑
摘要:1. 引入 C++语言中的动态内存分配没有自动回收机制,动态开辟的空间需要用户自己?#27425;?#25252;,在出函数作用域或者程序正常退出前必须?#22836;?#25481;。 即程序员每次 new 出来的内存都要手动 delete,否则会造成内存泄露, 有时我们已经非常谨慎了 , 然防不胜防:流程太复杂,程序员忘记 delete;异常导致 阅读全文
posted @ 2017-05-10 22:24 滴巴戈 阅读 (1813) 评论 (0) 编辑
只有注册用户登?#24049;?#25165;能阅读该文。 阅读全文
posted @ 2017-05-09 12:01 滴巴戈 阅读 (70) 评论 (0) 编辑
摘要:前面介绍的模板有关知识大部分都是用顺序表来举例的,现在我们就专门用模板来实现顺序表,其中的很多操作都和之前没有多大区别,只是有几个比较重要的知识点需要做专门的详解。 问题一实质同下面的问题3,后面再做详细分析。 这里很有必要详解实现上面赋值运算符重载的现代写法的实现原理 :首先看上面代码(list1 阅读全文
posted @ 2017-05-02 22:40 滴巴戈 阅读 (401) 评论 (0) 编辑
摘要:我们以顺序表为例?#27492;?#26126;,普通顺序表的定义如下: 模板类也是模板, 必须以 关键字templ ate开头, 后接模板形参表。 模板类一般格式如下:template<class 形参名 1, class 形参名 2, . . . class 形参名 n>class 类名{ . . . } ; 【 模板类 阅读全文
posted @ 2017-04-30 10:22 滴巴戈 阅读 (1293) 评论 (-1) 编辑
摘要:1、引入 如何编写一个通用加法函数?第一个方法是使用函数重载, 针对每个所需相同行为的不同类型重新实现这个函数。C++的这种编程机制给编程者极大的方便,不需要为功能相似、参数不同的函数选用不同的函数名,也增强了程序的可读性。简单示例: 【 缺点】1、 只要有新类型出现, 就要重新添加?#26434;?#20989;数。2、 阅读全文
posted @ 2017-04-29 19:09 滴巴戈 阅读 (788) 评论 (0) 编辑
摘要:1、什么是栈帧? 栈帧?#27493;泄?#31243;活动记录,是编译器用来实现函数调用过程的一种数据结构。C语言中,每个栈帧?#26434;?#30528;一个未运行完的函数。从逻辑上讲,栈帧就是一个函数执行的环?#24120;?#20989;数调用框架、函数参数、函数的局部变量、函数执行完后返回到哪里等等。栈是从高地址向低地址?#30001;?#30340;。每个函数的每次调用,都有它自己独立的 阅读全文
posted @ 2017-04-27 20:23 滴巴戈 阅读 (7331) 评论 (0) 编辑
摘要:main函数和启动例程 当内核使用一个exec函数执行C程序时,在调用main函数之前先调用一个特殊的启动例程,可执行程序将此例程指定为程序的起始地址。启动例程从内核获取命令行参数和环境变量,然后为调用main函数做好准备。我们常用gcc main.c -o main命令编译一个程序,其实?#37096;?#20197;分三 阅读全文
posted @ 2017-04-26 21:47 滴巴戈 阅读 (605) 评论 (0) 编辑
摘要?#33322;?#31243;优先级 进程cpu资源分配就是指进程的优先权(priority)。优先权高的进程有优先执行权利。 权限与优先级 权限(privilege)是指在多用户计算机系统的管理中,某个特定的用户具有特定的系统资源使用权力,像是文件夹,特定系统指令的使用或存储量的限制。权限是有或没有的问题,而优先级则是在已 阅读全文
posted @ 2017-04-25 21:57 滴巴戈 阅读 (1945) 评论 (0) 编辑
摘要:纯虚函数 纯虚函数是一种特殊的虚函数,在许多情况下,在基类中不能对虚函数给出有意义的实现,而把它声明为纯虚函数,它的实现留给?#27809;?#31867;的派生类去做。这就是纯虚函数的作用。纯虚函数的存在是为了更方便使用多态特性。它的一般格式如下: class <类名> { virtual <类型><函数名>(<参数表>) 阅读全文
posted @ 2017-04-19 17:29 滴巴戈 阅读 (1179) 评论 (0) 编辑
摘要:什么是多态 从?#32622;?#19978;理解就是多?#20013;?#24577;的意思。而多态一?#39318;?#21021;源自希腊语,其含义便是“多?#20013;问健保?#24847;思是是具有多?#20013;问?#25110;形态的情形,在C++语言中多态有着更广泛的含义。在C++ primer一书中把具有继?#27844;?#31995;的多个类型称为多态类型,因为我们能使用这些类型的“多?#20013;问健?#32780;无须在意它们的差异。百度百科上提 阅读全文
posted @ 2017-04-19 11:25 滴巴戈 阅读 (2134) 评论 (0) 编辑
摘要:在上一篇文章中详细介绍了task_struct结构体内的常见成员,然后我们就来看一下具体内容。每个进程都把它的信息放在各自的 task_struct 这个数据结构中,task_struct 主要包含了这些内容:标示符 : 描述本进程的唯一标示符,用来区别其他进程。状态 : 任务状态,退出代码,退出信 阅读全文
posted @ 2017-04-17 21:42 滴巴戈 阅读 (722) 评论 (0) 编辑
摘要:1、单继承与多继承 单继承是一般的单一继承,一个子类只 有一个直接父类时称这个继?#27844;叵滴?#21333;继承。这种关系比较简单是一对一的关系: 多继承是指 一个子类有两个或以上直接父类时称这个继?#27844;叵滴?#22810;继承。这种继承方式使一个子类可以继承多个父类的特性。多继承可以看作是单继承的扩展。派生类具有多个基类,派生类与 阅读全文
posted @ 2017-04-16 21:52 滴巴戈 阅读 (495) 评论 (0) 编辑
摘要:STL源码初步接触 STL = Standard Template Library,直译过来是:标准模板库,是惠普实验室开发的一系列软件的统称。从根本上说,STL是一些“容器”的集?#24076;?#36825;些“容器”有list,vector,set,map等,STL也是算法和其他一些组件的集合。这里的“容器”和算法的集 阅读全文
posted @ 2017-04-16 13:53 滴巴戈 阅读 (1488) 评论 (0) 编辑
摘要?#33322;?#31243;概念介绍 进程是操作系统对运行程序的一种抽象。 ? 一个正在执行的程序; ? 一个正在计算机上执行的程序实例; ? 能分配给处理器并由处理器执行的实体; ? 一个具有普以下特征的活动单元:一组指令序列的执行、一个当前状态和相关的系统资源集。 内核观点:担当分配系统资源(CPU时间,内存)的实体。 阅读全文
posted @ 2017-04-13 22:07 滴巴戈 阅读 (3519) 评论 (0) 编辑
摘要:1、作用域与重定义(同名隐藏) 一样的,先上代码 编译后,编译器会报错 错误表明:编译器并没有将c.a()看做C类继承自A类的a()函数,而是报错没有给a函数参数,即不构成函数重载,如果给c.a(10)一个参数,编译通过。输出:C 那?#27425;?#20204;不给C类中定义同名函数呢 编译通过,运行输出:A 如果C类定 阅读全文
posted @ 2017-04-11 12:46 滴巴戈 阅读 (778) 评论 (0) 编辑
摘要:在继?#27844;?#31995;里面, 在派生类中如果没有显示定义这六个成员函数, 编译系统则会默认合成这六个默认的成员函数。 1、构造与析构函数的调用关系 调用关系先看一段代码: 输出结果为: 代码中,我们利?#38376;?#29983;类Derived,创建了一个对象d,根据输出结果看到,貌似创建对象d的过程是:先调用基类的构造函数,再调用 阅读全文
posted @ 2017-04-09 21:58 滴巴戈 阅读 (1425) 评论 (0) 编辑
摘要:vim自带的帮助手册是英文的, 对平时编程的人?#27492;?#27809;有多大阅读困难,在何况还有"星级译王"呢, 但是?#20063;?#21644;我一样连英语四级都愁的大有人,可偏偏就有一帮好心人人将其翻译成了中文, 可偏偏我?#20540;?#19981;住?#26632;?#23558;它安装了, 唉.......又?#35789;?#19968;个学习英文的?#27809;?#20250;, 下不为例。而我又是好心人,所以?#22836;?#20139;给大家 阅读全文
posted @ 2017-04-08 19:29 滴巴戈 阅读 (305) 评论 (0) 编辑
摘要?#26680;?#24207;表是在计算机内存中以数组的?#38382;?#20445;存的线性表,是指用一组地址连续的存储单元依次存储数据元素的线性结构。这样的存储方式使得线性表逻辑上相邻的元素,其在物理存储单元中也是相邻的。只要知道了第一个元素的存储地址,就可以知道线性表中任何一个元素的存储地址。本文利用C++语言,在Windows平台 Visu 阅读全文
posted @ 2017-04-04 22:22 滴巴戈 阅读 (500) 评论 (0) 编辑
摘要:1. goroutine源码分析 1.1 初始化 go程序的启动流程分为四步 其中,schedinit 就是调度器的初始化,除了schedinit 中?#38405;?#23384;分配,垃圾回收等操作,针对调度器的初始化大致就是初始化自身,设置最大的maxmcount, 确定p的数量并初始化这些操作。 schedinit 阅读全文
posted @ 2019-11-28 16:49 滴巴戈 阅读 (100) 评论 (0) 编辑
摘要:1. goroutine的使用 在Go语言中,表达式go f(x, y, z)会启动一个新的goroutine运行函数f(x, y, z),创建一个并发任务单元。即go关键字可以用来开启一个goroutine(协程))进行任务处理。 创建单个goroutine 输出 这里的sleep是必须的,否则你 阅读全文
posted @ 2019-11-26 19:54 滴巴戈 阅读 (72) 评论 (0) 编辑
摘要:1. defer的使用 defer 延迟调用。我们先来看一下,有defer关键字的代码执行顺序: 输出结果: 结论:多个defer的执行顺序是倒序执行(同入栈先进后出)。 由例子可以看出来,defer有延迟生效的作用,先使用defer的语句延迟到最后执行。 1.1 defer与返回值之间的顺序 输出 阅读全文
posted @ 2019-11-21 20:59 滴巴戈 阅读 (109) 评论 (0) 编辑
摘要:1. select的使用 定义:在golang里头select的功能与epoll(nginx)/poll/select的功能类似,都是坚挺IO操作,当IO操作发生的时候,触发相应的动作。 1.1 一些使用规范 在Go的语言规范中,select中的case的执行顺序是随机的,当有多个case都可以运行 阅读全文
posted @ 2019-11-20 17:03 滴巴戈 阅读 (376) 评论 (0) 编辑
摘要:1. channel的使用 很多文章介绍channel的时候都和并发揉在一起,这里我想把它当做一种数据结构来单独介绍它的实现原理。 channel,通道。golang中用于数据传递的一种数据结构。是golang中一种传递数据的方式,?#37096;?#29992;作事件通知。 1.1 声明、传值、关闭 使用chan关键字声明 阅读全文
posted @ 2019-11-20 09:31 滴巴戈 阅读 (125) 评论 (0) 编辑
摘要:1. 接口的基本使用 golang中的interface本身也是一种类型,它代表的是一个方法的集合。任何类型只要实现了接口中声明的所有方法,那么该类就实现了该接口。与其他语言不同,golang并不需要显式声明类型实现了某个接口,而是由编译器和runtime进行检查。 声明 接口自身也是一种结构类型, 阅读全文
posted @ 2019-11-18 16:24 滴巴戈 阅读 (144) 评论 (0) 编辑
摘要:1. map的使用 golang中的map是一种数据类型,将键与值绑定到一起,底层是用哈希表实现的,可以快速的通过键找到?#26434;?#30340;值。 类型表示:map[keyType][valueType] key一定要是可比较的类型(可以理解为支持==的操作),value可以是?#25105;?#31867;型。 初始化:map只能使用ma 阅读全文
posted @ 2019-11-15 14:59 滴巴戈 阅读 (369) 评论 (0) 编辑
摘要:1. 部分基本类型 go中的类型与c的相似,常用类型有一个特例:byte类型,即字节类型,长度为,默?#29616;?#26159;0; 变量bytes的类型是[5]byte,一个由5个字节组成的数组。它的内存表示就是连起来的5个字节,就像C的数组。 1.1 字符串 字符串在Go语?#38405;?#23384;模型中用一个2字长(64位,32位内存 阅读全文
posted @ 2019-11-13 17:43 滴巴戈 阅读 (97) 评论 (0) 编辑
摘要:1.map和set的应用和比较 map和set都是关联式容器,底层容器都是红黑树。 map以键值对的?#38382;?#36827;行存储,方便进行查找,关键词起到索引的作用,值则表示与索引相关联的数据,以红黑树的结构实现,插入?#22659;?#31561;操作都可以在O(log n)时间内完成。 所有元素都是键+值存在,key=value组成pa 阅读全文
posted @ 2019-11-12 16:20 滴巴戈 阅读 (123) 评论 (0) 编辑
摘要:1、项目介绍 HTTP协议是应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。协议的详细内容,前面一篇HTTP协议详解已经详细介绍了,这里不再赘述。 项目总体描述:HTTP支持客户端/服务器模式,终端用户可通过浏览器或网络爬虫与服务器建立连接,所以首先需要自主实现服务器Se 阅读全文
posted @ 2017-09-01 16:00 滴巴戈 阅读 (448) 评论 (0) 编辑
快乐十分开奖号码搜索