03 2013 档案

摘要:前言http://blog.csdn.net/haoel/article/details/1948051 C++中 的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针(引用)指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术 可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,RTTI技术,虚函数技术,要么是试图做到在编译时决议,要么试图做到运行时决议。虚函数表 对C++ 了解的人都应该知道虚函数(Virtual Function)是通过一张虚函数表(Virtual Tab.. 阅读全文
posted @ 2013-03-25 12:16 tangr206 阅读(200) 评论(0) 推荐(0)
摘要:from http://blog.csdn.net/shunqiziranhao007/article/details/8646489/*goal, C++虚函数表的测试,测试了一部分,其他情况以后有机会再学习了。date, 2013-3-7http://blog.csdn.net/shunqiziranhao007/article/details/8646489*/#include <iostream>using std::cout; using std::endl;typedef void(*voidFun)();// 一个空的类,看看有什么信息可以挖掘,可以拿来和其他情况对比 阅读全文
posted @ 2013-03-25 11:28 tangr206 阅读(161) 评论(0) 推荐(0)
摘要:from http://www.cnblogs.com/xuqiang/archive/2011/05/22/2053516.html1.聊一聊跳表作者的其人其事2. 言归正传,跳表简介3. 跳表数据存储模型4. 跳表的代码实现分析5. 论文,代码下载及参考资料<1>. 聊一聊作者的其人其事跳表是由William Pugh发明。他在 Communications of the ACM June 1990, 33(6) 668-676 发表了Skip lists: a probabilistic alternative to balanced trees,在该论文中详细解释了跳表的数 阅读全文
posted @ 2013-03-22 19:05 tangr206 阅读(185) 评论(0) 推荐(0)
摘要:from http://kenby.iteye.com/blog/1187303SkipList 跳表博客分类:algorithms为什么选择跳表目前经常使用的平衡数据结构有:B树,红黑树,AVL树,Splay Tree, Treep等。想象一下,给你一张草稿纸,一只笔,一个编辑器,你能立即实现一颗红黑树,或者AVL树出来吗? 很难吧,这需要时间,要考虑很多细节,要参考一堆算法与数据结构之类的树,还要参考网上的代码,相当麻烦。用跳表吧,跳表是一种随机化的数据结构,目前开源软件 Redis 和 LevelDB 都有用到它,它的效率和红黑树以及 AVL 树不相上下,但跳表的原理相当简单,只要你能熟 阅读全文
posted @ 2013-03-22 19:01 tangr206 阅读(174) 评论(0) 推荐(0)
摘要:from: http://www.programfan.com/article/2782.html1.简介 虚函数是C++中用于实现多态(polymorphism)的机制。核心理念就是通过基类访问派生类定义的函数。假设我们有下面的类层次:class A{public:virtual void foo() { cout << "A::foo() is called" << endl;}};class B: public A{public:virtual void foo() { cout << "B::foo() is calle 阅读全文
posted @ 2013-03-22 18:39 tangr206 阅读(134) 评论(0) 推荐(0)
摘要:Memcached源码分析之网络模型篇 memcached 采用多线程的工作方式, 主线程接收连接, 然后把连接平摊给工作线程, 工作线程处理业务逻辑,memcached 使用 libevent 处理网络事件, 主线程和工作线程都有一个 event base, 这是 libevent的核心数据结构, event base 能够监听多个 socket 的网络事件, 概括起来, memcached 大体框架如 图1所示.图1 memcached的多线程模型主线程的初始化主线程首先初始化 libevent 的核心数据结构 main base, 然后创建监听socket, 把监听 socket 封装. 阅读全文
posted @ 2013-03-22 12:53 tangr206 阅读(322) 评论(0) 推荐(0)
摘要:参考今天来讨论一下装饰器。装饰器是一个很著名的设计模式,经常被用于有切面需求的场景,较为经典的有插入日志、性能测试、事务处理等。装饰器是解决这 类问题的绝佳设计,有了装饰器,我们就可以抽离出大量函数中与函数功能本身无关的雷同代码并继续重用。概括的讲,装饰器的作用就是为已经存在的对象添加额 外的功能。1. 装饰器入门Decorators vs. Decorator模式首先,你得明白使用 “decorator”一词是十分谨慎的决定,因为它可能会让人联想到Design Patterns(设计模式)一书中的Decorator模式。从某种角度看可能别的词也适用于这个特性,但“decorator”仍是不二 阅读全文
posted @ 2013-03-21 21:41 tangr206 阅读(810) 评论(0) 推荐(0)
摘要:from http://kenby.iteye.com/blog/1423989#bc2292653使用命令 set(key, value) 向 memcached 插入一条数据, memcached 内部是如何组织数据呢一 把数据组装成 itemmemcached 接受到客户端的数据后, 把数据组装成 item, item 的格式如下:图1 struct item 的结构源码中这样定义 struct item:C代码 /***Structureforstoringitemswithinmemcached.*/typedefstruct_stritem{struct_stritem*next; 阅读全文
posted @ 2013-03-21 21:39 tangr206 阅读(257) 评论(0) 推荐(0)
摘要:http://blog.csdn.net/beckel/article/details/3585352Decorators I: Introduction to Python DecoratorsOctober 18, 2008我预计它会成为Python最重要的几个特性之一。而问题是我见过的所有介绍decorators的文章都很容易让人感到困惑。所以我打算在这里给以纠正以正视听。(本系列文章将录入开源类书籍Python3之模式和用法)Decorators vs. Decorator模式首先,你得明白使用 “decorator”一词是十分谨慎的决定,因为它可能会让人联想到Design Patte 阅读全文
posted @ 2013-03-21 21:22 tangr206 阅读(218) 评论(0) 推荐(0)
摘要:python中函数参数的传递是通过赋值来传递的。函数参数的使用又有俩个方面值得注意:1.函数参数是如何定义的 2.在调用函数的过程中参数是如何被解析def func(*a): print adef func1(**a): print afunc(1,2,3,4,5)(1, 2, 3, 4, 5) func1(a=1, c=2, d=123){'a': 1, 'c': 2, 'd': 123}先看第一个问题,在python中函数参数的定义主要有四种方式:1.F(arg1,arg2,...)这是最常见的定义方式,一个函数可以定义... 阅读全文
posted @ 2013-03-21 18:57 tangr206 阅读(137) 评论(0) 推荐(0)