给定以下定义
union {
double coords[3];
struct {
double x,y,z;
};
} p;
可以通过索引和名称访问 3D 点的坐标(两种方式都有其优点)。但它们是等价的吗?更准确地说:将以下表达式
... p.coords[0] ... p.x ...
... p.coords[1] ... p.y ...
... p.coords[2] ... p.z ...
(成对,对于每一行)生成相同的(汇编)代码?访问坐标的两种方式在效率上是否存在差异?