作为c ++新手,我无法完全理解为什么以下代码不起作用(“不起作用”我的意思是,我没有看到输出255而是“破坏”字符):< / p>
uint8_t num = 0xff;
std::cout << num << std::endl;
我想,num
在某种程度上被视为一种(不可打印的)角色。
但我找到了一个解决我问题的代码示例:
uint8_t num = 0xff;
std::cout << +num << std::endl;
目前,我不知道+
运营商在这种情况下做了什么,我真的不知道如何谷歌这个问题......
如果有人能指出我正确的方向,我真的很感激。 非常感谢提前!
编辑:
我的问题的第一部分是重复:
uint8_t can't be printed with cout
如果您仔细阅读所有答案和评论,我的问题的第二部分(为什么一元+
运算符在这种情况下有帮助)的答案也可以在那里找到。关键字为整数提升