07 2016 档案
摘要:布隆过滤器 这名词有没有听着好像很 挺高大上的,的确,它也是一种很重要的结构,下面一起看看: 一:说说历史: (Bloom Filter)是由布隆(Burton Howard Bloom)在1970年提出的。它实际上是由一个很长的二进制向量和一系列随机映射函数组成,布隆过滤器可以用于检索一个元...
阅读全文
摘要:线程 我们知道 ,进程在各自独立的地址空间中运行,进程之间共享数据需要用mmap或者进程间通信机制,本节我们学习如何在一个进程的地址空间中执行多个线程。有些情况需要在一个进程中同时执行多个控制流程,这时候线程就派上了用场,比如实现一个图形界面的下载软件, 一方面需要和用户交互,等待和处理用...
阅读全文
摘要:菱形继承 详见 1.http://www.tuicool.com/articles/MNzieu 2.http://blog.csdn.net/tounaobun/article/details/8443228 3.http://c.biancheng....
阅读全文
摘要:stl中的迭代器和C++中的类型萃取: http://www.itnose.net/detail/6487058.html 赐教!
阅读全文
摘要:进程创建 在Linux系统下,自己可以创建进程: 当进程执行时,它会被装载进虚拟内存,为程序变量分配空间,并把相关信息添到 task_struct里。 进程内存布局分为四个不同的段: • 文本段,包含程序的源指令。 • 数据段,包含了静态变量。 • 堆,动态内存分区区域。 • 栈,...
阅读全文
摘要:>>进程 说进程,感觉好空洞,来一张图,Linux下的进程: ps -eo pid,comm,cmd说明:-e表示列出全部进程,-o pid,comm,cmd表示我们需要PID,COMMAND,CMD信息 下面:我们好好说说,Linux下的进程的含义: 1》.程序的一个执行实例 2》...
阅读全文
摘要:原文:http://blog.csdn.net/dadalan/article/details/3758025 用GDB调试程序 GDB是一个强大的命令行调试工具。大家知道命令行的强大就是在于,其可以形成执行序 列,形成脚本。UNIX下的软件全是命令行的,这给程序开发提代供了极大的便利,命令行...
阅读全文
摘要:很早就开始接触这些熟悉又陌生的关键字,但是,时不时还会有错: 看定义: 正数的原码、反码、补码形式一致,负数的反码为原码的数值位取反,补码为反码+1也即是原码的数值位取反再+1,计算机中以补码表示数据和运算 举例: +34原码=反码=补码:00100010 -34原码=10100010,反码=...
阅读全文
摘要:上一篇说了一般继承,也就是单继承的虚函数表,接下来说说多重继承的虚函数表: 1.无虚函数覆盖的多重继承: 代码: #pragma once//无覆盖,多重继承class Base1{public: //三个虚函数 virtual void f() { cout f(); //Derive::f...
阅读全文
摘要:沿途总是会出现关于C++虚函数表的问题,今天做一总结: 1.什么是虚函数表: 虚函数(Virtual Function)是通过一张虚函数表(Virtual Table)来实现的。简称为V-Table。在这个表中,主是要一个类的虚函数的地址表,这张表解决了继承、覆盖的问题,\ 保证其容真实反应实...
阅读全文
摘要:C++的多态性用一句话概括就是: 在基类的函数前加上virtual关键字,在派生类中重写该函数,运行时将会根据对象的实际类型来调用相应的函数。 如果对象类型是派生类,就调用派生类的函数;如果对象类型是基类,就调用基类的函数,此为多态的表现; 在看看以下几点: 1. 用virtual关键字申明的函...
阅读全文
摘要:位运算求两个数的平均值:解决的是两个数相加结果会溢出的情况; 1.先看一个代码: 位运算求两个数的平均值: int AverageForTwoNumber(int a,int b){ return ((a&b) + ((a^b) >> 1));}void Test(){ cout << Aver...
阅读全文