c++ - std::bit_cast 产生多个值的值表示的示例是什么?
问题描述
以下是[bit.cast]下标准(草案n4861)的引用(强调是我的)
返回:类型的对象
To
。隐式创建嵌套在结果中的对象 (6.7.2)。结果的值表示的每一位都等于 的对象表示中的相应位from
。结果的填充位未指定。对于结果和其中创建的每个对象,如果没有对应于产生的值表示的对象类型的值,则行为未定义。如果有多个这样的值,则生成哪个值是未指定的。
std::bit_cast
所以我的问题是,产生与多个不同值相对应的值表示的场景示例是什么?
解决方案
总和类型浮现在脑海中。一个联合可以有相同类型的成员:
union u {
int a;
int b;
};
现在,如果我们将某些东西位转换成 a u
,u
我们会得到什么样的结果?它a
是活跃的还是b
?这些是 a 形式上不同的值u
,但它们似乎具有相同的值表示。
推荐阅读
- c# - 由于数据表中的数据量,停止 ToolStripStatusLabel 闪烁
- android - FrameLayout 无法在 Fragment 的 RecyclerView 中显示
- python - 从 nodejs 运行 python 脚本并返回 json
- java - 如何在更改的文本上动态更新 JLabel?
- java - 如何在 jSoup Java 中从没有 id 和类的 div 中获取文本
- android - 微调器在我的 Kotlin 片段中不起作用
- rest - 这里 Map api Multi-reverse Geocode 给 503 服务不可用
- mongodb - 如何将 Kafka 与 Spark 结构化流与 MongoDB Sink 集成
- r - deciding on the number of significant digits in a data frame
- ruby-on-rails - 如何根据graphql中的访问级别限制对字段的访问