【发布时间】:2015-12-17 03:52:30
【问题描述】:
在 C++ 中有没有一种方法可以根据预处理器标志定义类型?我有两个版本的库,一个是原生的,一个是在 thirft 之上构建的。
两个版本具有完全相同的函数签名,除了返回和参数类型。 native 版本传递对象的指针,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)
【问题讨论】: