我知道C/C++预处理器不知道sizeof
,但我想用类似的方式定义一个变量:
#if sizeof(char*) == 8
uint64_t a;
#else
uint32_t a;
#endif
有可能吗?
您可以这样使用std::conditional_t
:
std::conditional_t<sizeof(char*) == 8,
uint64_t,
uint32_t> a;