找到了一个代码片段,并且不明白索引[1]和[0]在(*对象)之后的作用
对象:
Edge *edgea = new Edge(vertex_a,triangle);
Edge *edgeb = new Edge(vertex_b,triangle);
电话:
Edge *edgea_opposite = getEdge((*edgea)[1],(*edgea)[0]);
答案 0 :(得分:8)
这里没有数组。但是operator[]
可以为一个类重载。 For instance, std::vector
does so that it can be used like an array.
所以Edge
必须重载这个。我们不能告诉你它的作用,因为我们没有这个定义,我们不知道它是来自某个公开的图书馆,还是私人的公司/项目/其他。
但是从上下文中猜测,我认为someEdge[0]
得到了线段的开头,而someEdge[1]
得到了它的结束。使用这些交换创建新的Edge
会创建“相反”边缘。因此这个名字。