【翻译】Traits:一种新的而且有用的Template技巧

2022-05-27
阅读 5 分钟
2k
ANSI/ISO C++标准库一开始就想支持国际化(internationalization),虽然一开始还没相好具体细节,但是最近5年逐渐有点眉目了。现在得到的结论是,应当用template来对需要进行字符操作的工具进行参数化。

【翻译】c++类中“空成员”的优化

2022-05-26
阅读 4 分钟
1.2k
文章来自于The "Empty Member" C++ Optimization。是我在看c++ std::string代码时遇到的一个链接,其中解释了为什么_Alloc_hider会采用inhert from Alloc的原因。文章应该是97年的,所以里面的指针长度还是4 byte。

Waf - a Python based build system

2019-07-26
阅读 3 分钟
3k
软件构建系统不像是个很多人在研究的东西,所以在网络上很少能找到剖析某个构建系统原理、或者阐述构建系统principle的文章。看ns3的过程中接触到了waf,发现其文档waf book[https://waf.io/book/]很好的阐述了构建系统的一些基础知识,个人认为比cmake的文档好一些。因为其核心只有十几个文件,这个构建系统只需要一个1...

TypeId in NS3

2018-07-29
阅读 19 分钟
3.4k
NS3作为一个网络仿真库,出于性能的考量选择了C++。在写仿真程序时,不可避免的要对各种实体进行建模,自然C++中的class成了唯一可选的方案。不加任何技巧的class的确可以满足对某些实体的建模,可是在仿真软件的编写中需要有足够的动态性,比如有这样一些需求: