有没有办法强制字符串使用unsigned char而不是char?也许在构造函数中?
我需要进行算术运算(主要是递增,递减, ~(按位非)),并且我需要能够使用溢出255 ++ == 0 ... 而不是 127++ == -128(和下溢0-- == 255...)
我不确定问题是否有意义,在这里列出一个很好的关于该主题(流)的问题以便有更好的理解:Why do C++ streams use char instead of unsigned char?
我不是在尝试将字符串转换为unsigned char,我找到了很多关于如何在两者之间转换的问题。
char
不一定是(-128到127)。它可能会作为signed char
或unsigned char
表现。 - Mohit Jainstd::vector
或std::basic_string
的答案。std::basic_string<unsigned char>
似乎更接近你的问题,但是my_string[i]++
表明你并没有真正将内容视为字符串,而是字节的集合,在这种情况下,我会更喜欢std::vector<unsigned char>
,但这也需要你改变代码的其他部分。 - MikeMB