我使用的是第三方库,typedef
Šbyte
到char
。
(这char
可能是邪恶的,signed
或者unsigned
取决于编译器的选择)。
不幸的是,这typedef
已经蔓延到我维护的代码库中,并且我渴望删除它们:uint8_t
直接使用代替。
有没有一种方法可以在我到达我的代码后立即撤消此typedef
操作(即,在之后直接#include <3rdpartylib>
)?
删除所有byte
s后,我将可以从代码库中删除“解决方案” 。
最简单的方法是将3rd-party-library的包含内容括起来,从而:
#define byte somethingnotnamedbyte
#include <3rdpartylib>
#undef byte
这样就无需进行编辑<3rdpartylib>
,并且避免了使用宏或糟糕的typedef污染代码。
前提条件: preprocessing-tokenbyte
只用作in中的typedef-name <3rdpartylib>
,从不用于其他任何东西。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句