
我在动作105页的C++并发中找到了这张图片。左边是结构,左边是结构的内存模型。根据本书的描述,bf1和bf2共享一个内存位置,但bf3和bf4有自己的内存位置,这让我感到惊讶。这本书没有解释为什么他们有这样的区别。我想知道为什么bf1和bf2共享内存位置,而bf3和bf4有自己的内存位置?
发布于 2019-07-16 08:02:14
首先,您应该了解内存位置的含义。我将显示指定的引用C++标准“内存位置要么是标量类型的对象,要么是相邻位字段的最大序列,它们都具有非零宽度。”。然后您可以发现bf1和bf2是相邻的位字段,因此它们必须属于相同的内存位置。
https://stackoverflow.com/questions/33208140
复制相似问题