元程式設計(TMP)掃盲

2021-04-27 06:04:17 字數 369 閱讀 6137

昨晚看《effective c++》才知道了元程式設計(tmp)這個東東,今早決定寫個fibonacci數列試試,給自己掃個盲。

就我目前了解,總的說來,最大特性就是:就是編譯期通過**開解做執行期的事。比如編譯期數值運算(可極大提高運算速度),編譯期斷言和契約,編譯期型別運算。

但是tmp也不是沒缺點:**難讀,編譯時間太長,容易把編譯器掛掉(比如求導),除錯困難,迴圈開解的效能不一定最優,可執行檔案過大影響cache命中率,可移植性差。

我的觀點是:這樣的技術一定是區域性使用,用「正常」c++寫程式,然後profile,找出效能瓶頸,將那20%(80-20法則)的部分用tmp改寫。或者是以庫的形式提供給使用者。

python概率程式設計tmp

win10安裝anaconda後,安裝pymc,命令列 conda install c pymc 安裝matplotlib,命令列 conda install matplotlib 進入ipython import matplotlib.pyplot as plt import numpy as n...

Item 48 TMP程式設計介紹

item 47介紹了乙個advance的例子。如果用typeid的方式,會出現兩個問題。其中之一如下 出錯的原因,在於對advance例項化時,會發現其不支援隨機訪問,而使編譯器無法處理iter d這句話。所以,最後問題的解決要用過載而不是用if語句。這就是tmp程式設計 template meta...

Item 48 TMP程式設計介紹

item 47介紹了乙個advance的例子。如果用typeid的方式,會出現兩個問題。其中之一如下 templatevoid advance itert iter,distt d void main 出錯的原因,在於對advance例項化時,會發現其不支援隨機訪問,而使編譯器無法處理iter d這...