我想編寫一個宏,以協助在C.面向對象的編程正如我存儲在一個恆定的結構類信息,我需要創建一個宏,執行以下操作:C代碼宏得到的typeof參數
- 取對象的類型(typeof運算的derefenced指針)
- 追加
_info
得到的名稱進行必要的CLASSINFO結構 - 採取這一符號的地址,因此它可以被傳遞給函數
- 調用
destroyObject
功能與指針類結構和對象本身
一個例子:
queue_t* p = NULL;
delete(p);
delete
應擴展爲:
destroyObject(&(queue_t_info), p);
我試着用這個宏,但我不能去上班:
#define delete(X) (destroyObject(&(typeof(*X)##_info), X))
我有麻煩機智h typeof部件才能正常工作。
你似乎認爲類型有名。 – melpomene 2013-02-26 10:40:30
因此,當傳遞一個整數的引用時,讓prerossrossor吐出'int'完全不可能? – charliehorse55 2013-02-26 10:41:25
@melpomene你爲什麼認爲他們不? – 2013-02-26 11:29:23