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

忽然笑
TA貢獻(xiàn)1806條經(jīng)驗(yàn) 獲得超5個贊
首先定義了一個反射基類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中的代碼。
- 1 回答
- 0 關(guān)注
- 373 瀏覽
添加回答
舉報(bào)
0/150
提交
取消