【发布时间】:2015-10-06 06:49:06
【问题描述】:
如果这不是
short、int、long、long long、unsigned short、unsigned int、unsigned long或unsigned long long之一,则效果未定义。
如果我不关心范围,我可以屏蔽较大类型的位以生成随机数。如果不是,那就更复杂了。为什么不默认提供字节类型?
【问题讨论】:
-
难道不是
int8_t——如果实现提供了它——一定是列出的整数之一的typedef? -
@5gon12eder 很可能是已签名的字符,该列表中确实缺少该字符。
-
@ShafikYaghmour 啊,谢谢。现在我明白了这一点并理解了你的答案。我没有注意到它不见了。
-
您还可以使用
uniform_int_distribution<int> d{0, std::numeric_limits<uint8_t>::max()}来获得适合uint8_t的均匀分布值