- 博客(6)
- 收藏
- 关注
原创 ncp是否需要锁
<br />1. terminal 不需要加锁 <br />2. Buffer 可以采用加锁的方式实现, 但也可以采用下面代码的方式实现,即:<br /> a. 将要读或写的共享变量先读出来,<br /> b. 然后判断读出来的本地变量的范围是否有效,<br /> c. 采用本地变量参与后续运算<br /> d. 最终将本地变量赋值给共享变量<br />3. 需要思考的地方<br /> a. 数据加锁和过程加锁方式<br /> b. 当一个过程需要处理多个共
2011-04-13 17:48:00 342
转载 C++ trick之重载类型转换操作符 “orthodox”技术
<br />转自: http://sandy-sp.com/blog/article.asp?id=20<br /> <br />C++ trick之重载类型转换操作符<br /><br />C++很强大,许多玩意都可以自定义,比如类型转换操作符。<br />但我这里要扯的是,它的trick或trap,也就是在许多情况下会有一些陷阱,如果不注意而滥用,则很容易出现一些莫名其妙的问题。<br /><br />用过MFC的都知道,CString对象在许多情况下都可以当作LPCTSTR类型(const char*
2011-04-08 02:19:00 1235 1
转载 模板 traits的一个经典例子 , 解决 void func(T t)根据t的类型不同来做不同的实现
<br />转自: http://zhidao.baidu.com/question/175840119.html?push=ql<br /> <br />#include <iostream> #include <string> using namespace std; struct cat_tag{}; struct dog_tag{}; class Dog { public : Dog(string name):_name(name){} ty
2011-04-02 14:48:00 473
原创 boost serialization的简单实现及研究
#include #include #if 0 #include #include class A { private: //为了能让串行化类库能够访问私有成员,所以要声明一个友元类 friend class boost::serialization::access; //对象的数据 int a; double b; //串行化的函数,这一个函数完成对象的保存与恢复 template void serialize(Archive &
2011-04-01 17:58:00 919
原创 boost 中的模板多参数根据N来提取第N个参数的类型 (tuple的实现中用到) tuple的自己的简单实现,仅带get方法
template class cons { typedef T0 head_type; typedef cons tail_type }; template class element { typedef element::type type; }; template class element { typedef HT type; };
2011-04-01 14:03:00 580
原创 2011年愚人节想到的以后该学些什么
<br />1. boost,loki的源码都看一遍,自己实现主要的编程技法并更新到博客上<br />2. 全面熟悉汇编, 为下一步代码优化的学习做准备<br />3. 继续看linux内核的相关书籍<br />4. 代码优化技能,profiler等等<br />5. 不知道汇编和代码优化方面的学习会不会让我产生编译原理方面兴趣<br />6. 重拾我魂牵梦绕的perl, 呵呵, c, c++, perl, 我的全部兴趣所在<br />7. lisp, 该不该学嘞? ? ? ?<br />8
2011-04-01 12:07:00 371
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人