我一直在寻找一种方法来理解命名等价与结构化等价,我找到的所有东西都有Ada,ALGOL或Pascal的例子。我更像是一个C#/ Java / C ++开发人员,所以他们的例子并没有传达给我。我不知道我是不对,但这就是我认为它的工作方式:
struct One {
int X;
double Y;
}
struct Two {
int J;
double K;
}
One A = new One();
Two B = new Two();
对于我(可能有缺陷的)理解,A和B不是命名等价,但它们在结构上是等价的。
我是对的吗?出路怎么样?任何数量的帮助都会有很长的路要走。我可能需要帮助甚至正确地写出问题......
答案 0 :(得分:2)
你是这样的。 实际上就是它的所有内容。
C没有结构等价,它只支持名称等价。 代码如
if ( A == B )
在不支持结构等效的语言中会出错。
这不是一个很好的答案,你已经走上了正确的道路。