项目介绍 ZLMediaKit是一套高性能的流媒体服务框架,目前支持rtmp/rtsp/hls/http-flv流媒体协议。该项目已支持linux、macos、windows...
项目介绍 ZLMediaKit是一套高性能的流媒体服务框架,目前支持rtmp/rtsp/hls/http-flv流媒体协议。该项目已支持linux、macos、windows...
“C makes it easy to shoot yourself in the foot; C++ makes it harder, but when you do it...
在函数式语言中list基本都是递归式结构,类似:{elem, {elem, {elem, ...}}}。 可以看到,基本结构是一个二元组{Head, Tail},Head是一...
熟悉C++的程序员都知道,C++是一门多范式编程语言,支持面向过程、面向对象、泛型编程以及函数式编程范式。然而提到C++模板元编程,在很多人心里这却是C++里的黑魔法:它很难...
既然说可以把模板元编程当做一门独立的语言,那么针对这门语言,我们希望能有一个专门的xUnit测试框架。 传统的C++测试框架,如gtest,cppUnit等,主要针对运行期C...
模板为C++提供了鸭子类型(Duck typing)的特性。所谓鸭子类型,指的是代码关注的不是对象的类型本身,而是它被如何使用的。例如,在使用鸭子类型的语言中,我们编写一个函...
C++对模板的具现化采用尽量惰性的原则。只有当你使用了模板的内部定义,编译器才会为模板生成对应的定义。 所以对于元函数,当你不访问内部的Result对其求值,编译器是不会为其...
函数式语言依赖模式匹配和递归完成类似命令式语言里分支选择和循环迭代的功能。模板元编程中可以完成模式匹配的两种方式上节已经介绍。本节介绍模板元编程中的递归。 前面在介绍编译期数...
C++中可以参与编译期计算的主要是类型和编译期常量,它们都是不可变的(immutable)。从这个角度来说,C++模板元编程是一种纯函数式语言,遵循引用透明性。也就是说函数没...