如何使用C++優(yōu)雅的實現(xiàn)一個DAO框架
1 回答

絕地?zé)o雙
TA貢獻1946條經(jīng)驗 獲得超4個贊
首先定義了一個反射基類A,里面有幾個static map,這些map用來存放key和對應(yīng)的函數(shù)指針。
我自己約定繼承A的子類種包含“on_reflect_“字段的函數(shù)都可以被反射。通過key去查map就能得到這個函數(shù)指針。剩下就是如何把函數(shù)指針存入map中。我寫了一個Python腳本去處理cpp文件,自動在cpp文件中添加初始化這個含“on_reflect_“字段的函數(shù)到map的代碼,然后再編譯。
當(dāng)然也可以在每個要反射的函數(shù)下手動添加將這個函數(shù)的函數(shù)指針到map中的代碼。
添加回答
舉報
0/150
提交
取消