【发布时间】:2016-01-11 15:09:37
【问题描述】:
我想将 size_t 转换为无符号字符向量。这个向量被定义为 4 个字节。 有人可以建议一种合适的方法吗?
【问题讨论】:
-
这是错误的做法 - 2016 年的 size_t 通常不适合 4 个 uchars 的向量。
-
如果你想要无符号字符,创建一个
vector<unsigned char>。uint8_t不需要是unsigned char的同义词;事实上,有些架构不存在 'uint8_t',但unsigned char存在。 -
@PeteBecker:公平地说,如果你在一个不存在
uint8_t的架构上,unsigned char很可能不代表一个 8 位字节。跨度> -
@NicolBolas - 不只是一个好机会,一个确定性。但问题是关于
unsigned char,事实上,使用unsigned char比将代码限制为仅在具有本机8 位无符号类型的系统上运行更有意义。
标签: c++ vector byte unsigned-char