About C++ Modules
CN-CppCon-2018,关于C++ Modules的演讲。 GitHub:https://github.com/mutouyun/cncppcon2018-cppmodules 演讲ppt:C++ Modules.pptx内容补充和整理
CN-CppCon-2018,关于C++ Modules的演讲。 GitHub:https://github.com/mutouyun/cncppcon2018-cppmodules 演讲ppt:C++ Modules.pptx内容补充和整理
内存池是一种用来分配内存的池技术,重点在“池”,即内存的重用上。 重点不在“池”上的内存分配技术当然也是有的,比如stl的内存分配器(SGI STL使用了内存池,而有很多其他版本的STL则没有),重点在“分配器”的概念上。 内存的重用,能...
1. 编译期计算 我们先来看一段求阶乘(factorial)的算法: size_t factorial(size_t n) noexcept { return (n == 0) ? 1 : n * factorial(n - 1); } 很明显,这是一段运行期算法。程序运行的时候,传递一个值,它可以是一个变...
在C++中,存在“可调用对象(callable objects)”这么一个概念。这里我直接摘录C++11标准《ISO/IEC 14882:2011》,§ 20.8.1 Definitions: A callable type is a function object type (20.8) or a pointer to member. A callable obje...
这篇文的草稿我是在2014年5月11号开始打的,可是拖拖拉拉直到现在才真正动笔写,自己对自己也是醉了。。 之所以写bind而不是什么其他的东西,是因为bind在各种C++的utility里面可以说是最能体现出“利用语言本身来拓展语言功能”这一特...
今年6月份的时候,CppDepend的一位技术社区经理(technical community manager)突然发邮件联系我,赠送了我一份license,并邀请我体验下他们的C++静态分析工具,也就是CppDepend。 在这款软件的官方网站上,我们可以看到使用CppDepen...
1. 内存池是什么 内存池(Memory Pool),是内存分配器(Memory Allocation)的一种表现形式。它以预存储的方式预先分配一大块内存(相对于每次请求的内存大小来说),使得绝大部分的内存请求只需要在已分配的大块内存上划分出一小块...
群里有个朋友要实现这么一个功能:如何在编译期把一个函数类型的参数减少一个。 简单来说,就是实现下面这个模板: remove_func_par::type; // type = void(int, long) 根据输入的编译期整数,把函数参数表里对应的参数干掉一个。 为...
地球人都知道C++里有一个typeid操作符可以用来获取一个类型/表达式的名称: std::cout
刚刚在网上闲逛,看到reddit上关于最受欢迎的代码的讨论贴,上面有一小段非常有意思的代码: unsigned int v; // to count the number of bits set in v unsigned int c; // c accumulates the total bits set in v for (c = 0; v; c+...