我使用 STL 映射来保存有关我的顶点及其值的信息,我决定将它们作为指针保存以加快运行时间。
问题是现在我只在它们不存在时才尝试添加新顶点,因此我使用了 MAP.FIND() 函数,从逻辑上讲它不是正确的做法。(因为 find 函数现在只比较指针值而不是顶点值)
现在在谷歌搜索了一下之后,我尝试使用更长的 c-tor
struct classcomp {
bool operator() (const Vertex* v1,const Vertex* v2) const
{
return v1->getX()==v2->getX() &&
v1->getY()==v2->getY() &&
v1->getZ()==v2->getZ();
}
};
map<Vertex *,Position,classcomp> ;
但仍然没有成功,我做错了什么?甚至可以以与比较指针地址值不同的方式使用 find 吗?
谢谢,-绝望
更新:仍然有问题,因为你不能真正使用 bool operator< 在结构中带有 2 个参数。到目前为止,我没有发现任何有用的东西,并且所有编译试验都失败了。找不到这样做的例子。你确定它有可能用指针吗?
谢谢你。