項(xiàng)目介紹 ZLMediaKit是一套高性能的流媒體服務(wù)框架羡藐,目前支持rtmp/rtsp/hls/http-flv流媒體協(xié)議帘不。該項(xiàng)目已支持linux、macos钉寝、windows...
項(xiàng)目介紹 ZLMediaKit是一套高性能的流媒體服務(wù)框架羡藐,目前支持rtmp/rtsp/hls/http-flv流媒體協(xié)議帘不。該項(xiàng)目已支持linux、macos钉寝、windows...
“C makes it easy to shoot yourself in the foot; C++ makes it harder, but when you do it...
TypeList->高階算法 這一章看不了~
C++11 模板元編程 - 構(gòu)建DSLC++是一門非常適合用來構(gòu)建DSL(Domain Specific Language)的語言甲抖,它的多范式特點(diǎn)為它提供了豐富的工具漆改,尤其是C++提供了: 一個(gè)靜態(tài)類型系統(tǒng); 近...
在函數(shù)式語言中l(wèi)ist基本都是遞歸式結(jié)構(gòu)准谚,類似:{elem, {elem, {elem, ...}}}挫剑。 可以看到,基本結(jié)構(gòu)是一個(gè)二元組{Head, Tail}氛魁,Head是一...
熟悉C++的程序員都知道秀存,C++是一門多范式編程語言捶码,支持面向過程、面向?qū)ο蠡蛄础⒎盒途幊桃约昂瘮?shù)式編程范式惫恼。然而提到C++模板元編程,在很多人心里這卻是C++里的黑魔法:它很難...
熟悉C++的程序員都知道澳盐,C++是一門多范式編程語言祈纯,支持面向過程、面向?qū)ο蟮鸢摇⒎盒途幊桃约昂瘮?shù)式編程范式腕窥。然而提到C++模板元編程,在很多人心里這卻是C++里的黑魔法:它很難...
既然說可以把模板元編程當(dāng)做一門獨(dú)立的語言筛婉,那么針對(duì)這門語言簇爆,我們希望能有一個(gè)專門的xUnit測試框架。 傳統(tǒng)的C++測試框架爽撒,如gtest入蛆,cppUnit等,主要針對(duì)運(yùn)行期C...
模板為C++提供了鴨子類型(Duck typing)的特性硕勿。所謂鴨子類型哨毁,指的是代碼關(guān)注的不是對(duì)象的類型本身,而是它被如何使用的源武。例如扼褪,在使用鴨子類型的語言中,我們編寫一個(gè)函...
C++對(duì)模板的具現(xiàn)化采用盡量惰性的原則粱栖。只有當(dāng)你使用了模板的內(nèi)部定義迎捺,編譯器才會(huì)為模板生成對(duì)應(yīng)的定義。 所以對(duì)于元函數(shù)查排,當(dāng)你不訪問內(nèi)部的Result對(duì)其求值凳枝,編譯器是不會(huì)為其...
"大量地使用模板會(huì)使得C++的編譯速度超出尋常地慢" 那么運(yùn)行時(shí)應(yīng)該比命令式語言快點(diǎn)吧?畢竟能在編譯期已經(jīng)完成了很多計(jì)算
C++11 模板元編程 - 不可變性C++中可以參與編譯期計(jì)算的主要是類型和編譯期常量跋核,它們都是不可變的(immutable)岖瑰。從這個(gè)角度來說,C++模板元編程是一種純函數(shù)式語言砂代,遵循引用透明性蹋订。也就是說函數(shù)沒...
函數(shù)式語言依賴模式匹配和遞歸完成類似命令式語言里分支選擇和循環(huán)迭代的功能。模板元編程中可以完成模式匹配的兩種方式上節(jié)已經(jīng)介紹刻伊。本節(jié)介紹模板元編程中的遞歸露戒。 前面在介紹編譯期數(shù)...
C++中可以參與編譯期計(jì)算的主要是類型和編譯期常量椒功,它們都是不可變的(immutable)。從這個(gè)角度來說智什,C++模板元編程是一種純函數(shù)式語言动漾,遵循引用透明性。也就是說函數(shù)沒...
C++模板元編程中荠锭,編譯器對(duì)模板的特化版本選擇相當(dāng)于是在做模式匹配旱眯,這個(gè)我們已經(jīng)比較熟悉了。下面我們借助這一特性實(shí)現(xiàn)一個(gè)在模板元編程中最常使用的基礎(chǔ)元函數(shù)IfThenElse...
前言 模板的基礎(chǔ)知識(shí)模板的類型參數(shù)模板的默認(rèn)參數(shù)模板的模板參數(shù)模板的特化模板的非類型參數(shù)模板的編譯期計(jì)算數(shù)值計(jì)算類型計(jì)算模板遞歸 C++模板元編程元函數(shù)高階函數(shù)柯理函數(shù)(cu...