本節(jié)開始我們通過使用C++模板元編程去解決一些實際問題弦撩,來展示模板元編程針對現(xiàn)實問題的使用方法和設(shè)計技巧立肘。本節(jié)中的例子從不同的角度展示了模板元編程的應(yīng)用場合漠趁,它們包括:
編譯期純函數(shù)式計算:通過一個數(shù)三角形的程序松逊,展示了模板元編程純粹的編譯期計算能力和純函數(shù)式的設(shè)計技巧品洛;
類型操縱:通過dates框架的一些設(shè)計嗤疯,展示了如何利用模板元編程來做類型萃取冤今、類型選擇以及類型校驗,使得程序變得更易用茂缚、更高效以及更安全戏罢;
代碼生成:通過一個自動生成visitor設(shè)計模式的程序架構(gòu)的例子,展示了利用模板元編程做代碼生成和高階模式設(shè)計的技巧脚囊;
構(gòu)建DSL:展示如何通過模板元編程構(gòu)建一個描述有限狀態(tài)機(jī)的DSL龟糕,總結(jié)了構(gòu)建C++內(nèi)部DSL的相關(guān)技巧;
上述例子中我們會用到TLP庫中的一些組件凑术,大多都已經(jīng)在前文中提到過翩蘸,請及時對照查閱。