命名等价和结构等价之间的区别?

时间:2011-03-08 05:37:55

标签: c++

我一直在寻找一种方法来理解命名等价与结构化等价,我找到的所有东西都有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不是命名等价,但它们在结构上是等价的。

我是对的吗?出路怎么样?任何数量的帮助都会有很长的路要走。我可能需要帮助甚至正确地写出问题......

1 个答案:

答案 0 :(得分:2)

你是这样的。 实际上就是它的所有内容。

C没有结构等价,它只支持名称等价。 代码如

if ( A == B ) 

在不支持结构等效的语言中会出错。

这不是一个很好的答案,你已经走上了正确的道路。