莫比乌斯带
在学校里,我学到的第一门编程语言,是 Mathematica,严格讲 Mathematica 也许不算是一门编程语言,但它的确很有趣。那个时候(1998年),Mathematica 还只是 1.2 (或者1.4,具体记不清了)了。学校机房的电脑也很慢,但是从那开始,我开始可以将自己的一些想象变成视觉,莫比乌斯带的方程式就是这样想象出来的: 继续阅读
在学校里,我学到的第一门编程语言,是 Mathematica,严格讲 Mathematica 也许不算是一门编程语言,但它的确很有趣。那个时候(1998年),Mathematica 还只是 1.2 (或者1.4,具体记不清了)了。学校机房的电脑也很慢,但是从那开始,我开始可以将自己的一些想象变成视觉,莫比乌斯带的方程式就是这样想象出来的: 继续阅读
本文是2009年9月为公司内部培训写得的一篇简介。 继续阅读
stl 容器大都有 reverse_iterator, 用法跟 iterator 一样。然而,可能很少有人考虑过它的实现。
首先, reverse_iterator 大都由 std::reverse_iterator 包装 iterator 生成,如此,同样的遍历循环, 继续阅读
C++11 中的 type_traits, 改变了一些约定成俗的名字:
我们经常使用的 has_trivial_destructor, 变成了 is_trivially_destructible, 现在已有不少编译器实现了 has_trivial_destructor, (std, std::tr1). 继续阅读
看到很多使用 map<string, ….> 的代码, 也有一些使用了 unordered_map<string, …> 或者 hash_map<string, …>, 当然, hash_map 不是标准的, unordered_map 也只在 boost, tr1 和 c++0x 中可用. 从代码的简洁性和可移植性上讲, 标准的 std::map 是首选. 继续阅读
众所周知,C++函数重载时返回值是不参与重载决议的, 也就是说: 继续阅读
本文来源:http://gcc.gnu.org/wiki/SplitStacks
注:GCC4.6 已经支持 -split-stack 选项。Why Fiber/Coroutine? 可参考我的相关文章:异步通讯中使用纤程(Fiber/UserSpaceThread) 继续阅读