您的位置:首页 > 产品设计 > UI/UE

在 <stdint.h> 中定义的 uint8_t 其实为 unsigned char

2017-06-22 15:27 183 查看
所以本质上uint8_t 型的变量是字符,而不是整数!这种差异对于算术运算可能没什么差别,但是在有些情况会导致一些不易察觉的错误。比如我们经常使用 std::istringstream 从 std::string 中读数据

std::string wholeStr("Haha 1");
std::istringstream sstr(str, std::istringstream::in);
std::string str;
uint8_t num;
sstr >> str >> num;


这时 num 的值其实是字符’1’,而不是数字1!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Bug
相关文章推荐