我已经找到一个代码段,并且不了解(* object)后索引[1]和[0]的含义

对象:

Edge *edgea = new Edge(vertex_a,triangle);
Edge *edgeb = new Edge(vertex_b,triangle);

电话:
Edge *edgea_opposite = getEdge((*edgea)[1],(*edgea)[0]);

最佳答案

这里没有数组。但是operator[]可以重载一个类。 For instance, std::vector does so that it can be used like an array.

因此,Edge必须对此进行了重载。我们无法告诉您它的作用,因为我们没有定义,而且我们也不知道它是来自某个公开可用的库,还是对您的公司/项目/任何组织都是私有(private)的。

但是从上下文中猜测,我认为someEdge[0]是线段的开始,而someEdge[1]是线段的结束。创建新的Edge并将其互换,将创建“相反”的边缘。由此得名。

10-05 18:06