當(dāng)1994年熏瞄,Erwin Unruh在C++標(biāo)準(zhǔn)委員會(huì)上演示了通過C++模板在編譯期計(jì)算素?cái)?shù)的程序后埂伦,C++模板元編程的能力就已經(jīng)被人們認(rèn)識(shí)到了...
C++是一門非常適合用來構(gòu)建DSL(Domain Specific Language)的語言揩魂,它的多范式特點(diǎn)為它提供了豐富的工具剂邮,尤其是C++提...
假如我們已經(jīng)有了一組繼承體系: 如果我們要在其中增加一個(gè)新的動(dòng)物mouse呜笑,只用新建一個(gè)Mouse類,讓它繼承自公共父類Animal然后覆寫ru...
一般情況下一個(gè)系統(tǒng)可以發(fā)送和接收的消息是確定的殖熟。例如前面的例子中局待,visitor可以發(fā)送AccessReq消息,可以接收AccessRsp消息,...
上面我們?cè)趕end的函數(shù)實(shí)現(xiàn)中創(chuàng)建了一個(gè)msg钳榨,它的內(nèi)存是在函數(shù)椊⒎#空間上臨時(shí)申請(qǐng)的。一般系統(tǒng)間發(fā)送的消息可能會(huì)比較大重绷,我們知道為了避免棧溢出沸停,函...
類型萃饶せ佟(trait)的概念我們前面有介紹過昭卓。可以將trait看做是一種靜態(tài)反射技術(shù)瘟滨,通過trait我們可以自動(dòng)提取出想要的代碼元信息候醒,避免讓客...
本文最開始介紹模板元編程的時(shí)候說過,模板元編程是寫C++框架離不開的技術(shù)杂瘸。本例將通過介紹模板元編程在dates框架中的應(yīng)用倒淫,來介紹如何使用模板元...
我們一直強(qiáng)調(diào)把C++模板元編程當(dāng)做一門圖靈完備的純函數(shù)式語言來學(xué)習(xí),為了證明它這種能力败玉,之前舉的都是類似計(jì)算階乘的簡(jiǎn)單例子敌土,這里我們通過模板元編...
本節(jié)開始我們通過使用C++模板元編程去解決一些實(shí)際問題,來展示模板元編程針對(duì)現(xiàn)實(shí)問題的使用方法和設(shè)計(jì)技巧运翼。本節(jié)中的例子從不同的角度展示了模板元編...