
C++学习
文章平均质量分 70
chlaws
希望身体健康
展开
-
缺省参数的virtual继承方式
#include using namespace std;class base { public: virtual int foo( int ival = 1024 ) { cout << "base::foo() -- ival: " << ival << endl; return ival; } // ... }; class der原创 2008-07-16 16:45:00 · 1304 阅读 · 0 评论 -
多线程删除注册的事件
1.多线程删除注册的事件,因为事件响应总是会调用回调的,因此,在这通过注册和删除回调函数来阐述2.由于多线程环境去处理,那么需要注意事件增删的接口,会在任何地方调用,因此,需要处理好,即保证无递归产生死锁也要保证互斥性3.代码是伪代码,处理流程参考了libevent,libevent对于event的删除就是这么做的4.有可能描述不太清晰,具体可以去看libevent代码cl原创 2013-06-02 22:53:48 · 3375 阅读 · 0 评论 -
libevent-2.0.21笔记
参看http://www.wangafu.net/~nickm/libevent-book/ 和libevent-2.0.21源码其中有部分我认为比较简单的,就没有记录在这里了。关于源码,可以主要关注,evutil.c evbuffer.c event.c bufferevent.c bufferevent_sock.c 这几个文件。-----------------------原创 2013-01-02 11:31:57 · 15803 阅读 · 2 评论 -
我的2012-分享我的四个项目经验
前言 一看标题就俗套,一时也想不到各种华丽的名字了,直接copy去年的标题,只是将2011改成了2012。还好今年也没有末日,活着就是幸福。在12年最后一天的工作日,刚好可以花点时间回顾下今年的工作情况以及稍微规划下明年吧,希望慢慢的按着自己的规划往前走。 如果有看过去年的朋友,可能会发现与去年的巧合就是都是在最后一天来写。。尴尬。。 本文大致会分两部分,一个是今原创 2012-12-29 19:30:14 · 19711 阅读 · 11 评论 -
小心使用zeromq
1.关于介绍zeromq的就不说了,可以自己去看官方guide很详细2.主要说下在使用过程中需要注意的地方1)使用如果使用c++的接口的时候,在你自己的类中或者apache模块中需要将zmq::context_t 对象定义在zmq::socket_t对象的前面,这样可以保证销毁的顺序2)使用sub-pub时候,如果sub没有调用setsockopt设置过滤项(设置NULL则原创 2012-07-04 17:44:39 · 9755 阅读 · 3 评论 -
boost filesystem v2 与 v3的区别
这篇文章会慢慢记录我碰到的使用不同版本boost 的filesystem库发现的一些不同的地方。1.在最近改个项目bug的过程中发现了v2(boost1.42) 的path对象取filename()的时候和v3(boost1.47)的path对象取filename()的结果不一样v2的结果是没有引号的文件名,v3是有引号的“文件名”,因此v3需要这么用path.filename().str原创 2012-08-18 00:29:53 · 2105 阅读 · 0 评论 -
聊后感想记录
其实之前就知道,但是没有记录,并从这些角度去思虑先记下来,在之后的过程慢慢要将这些观念用上,并要习惯下面这些是关于开发的:从行业角度:关注自身或者相关的技术的发展,学习新的事物,并考虑,自己需不需要用从自身角度:要经常总结各个技术逻辑层次,发现问题或者记录新的理解,提高自身能力从技术角度:一门新的技术,考虑优缺点,比如用一个开源库,那么,为什么要用这个从设计角度原创 2012-06-08 17:47:51 · 1125 阅读 · 0 评论 -
C++11的变化-The Biggest Changes in C++11 (and Why You Should Care)
摘自:http://www.softwarequalityconnection.com/2011/06/the-biggest-changes-in-c11-and-why-you-should-care/中文译文:http://blog.youkuaiyun.com/lanphad原创 2011-08-23 22:45:10 · 1131 阅读 · 0 评论 -
解析一个流操作出错的小程序
解析一个小程序,关于输入流的出错时该如何改回来,让其能重新使用原创 2010-12-13 15:57:00 · 893 阅读 · 0 评论 -
用邻接表实现深度和广度搜索
//=======================================================================//Use Adjacency List Implement DFS And BFS//BY:CHLAWS //TIME:08-8-4//PS:transshipment dont delete this headmark//==========原创 2008-08-22 20:00:00 · 1079 阅读 · 0 评论 -
多继承的访问注意点
#include using namespace std;class Base { public: virtual ~Base(){ cout virtual ostream&print(){ cout virtual void log(){cout virtual void debug(){ cout virtual void readOn(){ cout virtual void原创 2008-07-16 16:52:00 · 808 阅读 · 0 评论 -
libeio性能测试
前言: 之前搜了一下,貌似没有关于libeio的读写性能测试的数据,因此直接写了个测试程序去测试下。写的没去试,接口都有,有需要可以自己去填下。关于libeio: 这个是库Marc Lehmann写的,关于这个大牛,有兴趣的可以去搜搜。关于测试: 测试环境我分别用ABC表示,采用随机读取文件中的某个位置开始的一定长度原创 2012-07-10 15:18:03 · 3067 阅读 · 0 评论