首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么bf1和bf2共享内存位置,而bf3和bf4有自己的内存位置?

为什么bf1和bf2共享内存位置,而bf3和bf4有自己的内存位置?
EN

Stack Overflow用户
提问于 2015-10-19 06:43:41
回答 1查看 185关注 0票数 3

我在动作105页的C++并发中找到了这张图片。左边是结构,左边是结构内存模型。根据本书的描述,bf1bf2共享一个内存位置,但bf3bf4有自己的内存位置,这让我感到惊讶。这本书没有解释为什么他们有这样的区别。我想知道为什么bf1和bf2共享内存位置,而bf3和bf4有自己的内存位置?

EN

回答 1

Stack Overflow用户

发布于 2019-07-16 08:02:14

首先,您应该了解内存位置的含义。我将显示指定的引用C++标准“内存位置要么是标量类型的对象,要么是相邻位字段的最大序列,它们都具有非零宽度。”。然后您可以发现bf1和bf2是相邻的位字段,因此它们必须属于相同的内存位置。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33208140

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档