c++ - 为什么 C++ 随机数生成不支持有符号/无符号 8 位整数类型?
问题描述
来自 C++11 §26.5.1.1 关于随机数生成的要求:
在整个子条款 26.5 中,实例化模板的效果:[...] 具有名为IntType的模板类型参数是未定义的,除非相应的模板参数是 cv-unqualified 并且是 short、int、long、long long、unsigned 之一short、unsigned int、unsigned long 或 unsigned long long。
在要求中像这样从随机数生成中排除8 位有符号/无符号类型的原因是什么?
解决方案
这个问题是作为LWG Issue 2326提出的,它被关闭为“不是缺陷”。
不是因为人们不赞成,而是因为它是一个新功能,而不是一个错误。委员会认为最好写一篇论文来讨论做出这种改变的利弊。
目前,还没有人写过这样的论文。
正如@NathanOliver 指出的那样,这个问题之前已经被问过,那里的链接表明这有点争议。
推荐阅读
- python - 如何从 __init__ 访问 __init_subclass__ 中的变量?
- java - 如何在lamba表达式中抽象方法调用?
- java - 如何覆盖在 Mockito Junit 中的方法内实例化的类?
- javascript - 如何从 guacamole-common.js. 制作剪贴板流?
- amazon-web-services - AWS API Gateway Simple Lamda Authorizer 在与使用私有资源集成的 HTTP API 一起使用时失败
- c# - 有没有一种优雅的方法来分离 C# 中的插件接口和实现?
- firebird - 如何使用 FBExport 从 Firebird 数据库中导出一些数据?
- node.js - 允许 Nginx 从站点的联系表单发送电子邮件
- azure - Sharepoint 2013 REST API 调用图形 API,同时将内容迁移到 Sharepoint Online 和 Azure 上托管的 UI?
- powershell - Powershell 命令 certUtil ssh 和 exitCode