C++中有一種方法可以根據預處理器標誌來定義類型嗎?我有兩個版本的庫,一個是本地庫,另一個是建立在thirft之上的庫。定義類型的宏
兩個版本都具有完全相同的函數簽名,但返回類型和參數類型除外。本地版本傳遞周圍物體的指針,而thirft版本使用i64來表示指針。
我想知道是否有一種方法可以構建一個項目,該項目將使用任何基於編譯標誌的庫。因此,例如:
//native
AType* obj = fun(AnotherType* another_obj)
//thirft
i64 obj = fun(i64 another_obj)
我想知道是否有有點像這樣的結構:
if native
X is Atype*
Y is AnotherType*
else
X is i64
Y is i64
end
//native
X obj = fun(Y another_obj)
//thirft
X obj = fun(Y another_obj)
閱讀#if。 –