std和boost的function与bind实现剖析
用过std和boost的function对象和bind函数的童鞋们都知道这玩意用起来腰不酸了,腿不疼了,心情也舒畅了。先上一个简单得示例: std::string
VC和GCC成员函数指针实现的研究(三)
接上一篇 VC和GCC内成员函数指针实现的研究(二) 虚继承 终于到最后的虚继承了。 测试代码如下: #include <ctime> #include <vector> #include <algorithm> #include <cstdio> #include <stdint.h> #include <cstddef> #include <string> class foo_a { public: virtual ~foo_a(){} virtual void info() {
VC和GCC成员函数指针实现的研究(二)
接上一篇 VC和GCC内成员函数指针实现的研究(一) 接下来是多重继承,用到的测试代码如下所示: #include <ctime> #include <vector> #include <algorithm> #include <cstdio> #include <stdint.h> #include <cstddef> #include <string> class foo_a { public: virtual ~foo_a(){} virtual void info() {
一个C++关于成员变量偏移地址的小Trick
今天看到一个小例子,发现了一个小trick。见代码: #include <cstdio> #include <cstdlib> class base_1 { public: int a; }; class base_2 { public: int b; }; class base_3: public base_1, public base_2 { public: int c; }; int main(int argc, char* argv[]) { printf("&base_1::a = %p\n", &base_1::a); printf("&base_2::b = %p\n", &base_2::b); printf("&base_3::a
ptmalloc,tcmalloc和jemalloc内存分配策略研究
最近看了glibc的ptmaoolc,Goolge的tcmalloc和jemalloc,顺便做了一点记录。可能有些地方理解地不太对,如有发现
从Javascript到Typescript到Node.js
最近看了点typescript的东西,加上以前看过的一点点Node.js,所以就想把他们系统地整理一下。 Javascript 这玩意搞过Web开发的应该都知道吧
Linux 编译安装 GCC 4.8
Linux 编译安装 GCC 4.8 详见: Linux 编译安装 GCC 4.8 GCC4.8发布啦,这个脚本在之前4.7的基础上做了点改进,移除一些过时的组件,增加了检测不到时自动下载源
Boost.Spirit 初体验
使用代码生成代码是一件十分美妙的事情,于是有了各种代码生成器。但是生成代码,意味着要有对生成规则的分析和处理。 Boost.Spirit 就是这么一个语法分析工具,它
C++ 新特性学习(八) — 原子操作和多线程库[多工内存模型]
这是我对C++新特性系统学习的最后一部分,之后就靠实践中再来看新标准的新特性啦。 在之前,我对这部分没太在意,直到看到了一篇文章 [http://blog.csdn.net/pongba/article/details/1659952](http://blog.csdn.net/pongba/article/details/1659952) 才意识到,C
C++ 新特性学习(六) — 新的字符串编码和伪随机数
其实这个部分是我觉得最没用的部分 新的字符编码 注:这部分仅测过GCC,VS暂不支持 在旧的标准C++中支持两种字符编码。 直接使用””将产生con