我已经讨论了许多关于签名/未签名字符的问题。我知道C++中有三种不同的字符类型。目前,我有一个用visualstudio编译的大型代码库,“defaultcharunsigned”设置被设置为“No”。现在我要向我们的代码库中添加一个特定的项目(将其集成为当前工具集的一部分)。这个项目附带了一个文档,其中强烈强调它需要默认字符是无符号的。
现在我开始想:如果作者需要char不签名,为什么要用“char”而不是“unsigned char”?如果我将代码基更改为“defaultunsignedchar”设置为“Yes”,会出现什么问题?如果我将要添加到代码库的整个项目中的所有“char”都改为unsigned char,会出什么问题?
实际上,我应该问的是“我应该如何在不破坏任何东西的情况下将这个项目添加到我们的代码库中”,但那会要求一个解决方案,我不会学到任何东西;)
呃,天哪。你能告诉我们这些代码是从哪里来的吗?这样我们就可以避免了?:)
我的第一反应是将代码构建为现有项目链接到的独立库,并且在与之交互时要小心。我不知道问题代码的确切性质,我不知道这是否可行。
char 你没有签名吗 只是简单地改变它,使它成为一个明确的 unsigned char ,但这就提出了一个问题:以后是否必须在新版本的代码中进行合并,所以我还是更喜欢库解决方案。
char
unsigned char