使用`<<`运算符将`uint8_t`值打印到`std :: cout`

时间:2017-10-19 06:19:00

标签: c++

作为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

如果您仔细阅读所有答案和评论,我的问题的第二部分(为什么一元+运算符在这种情况下有帮助)的答案也可以在那里找到。关键字为整数提升

0 个答案:

没有答案