我想创建一个存储GLM向量(glm::vec3)的std::set。由于C++不知道如何在向量上执行<操作,因此必须传入Compare函数。
我可以通过创建以下结构自己编写:
struct compareVec
{
bool operator() (const glm::vec3& lhs, const glm::vec3& rhs) const
{
return lhs.x < rhs.x && lhs.y < rhs.y && lhs.z < rhs.z;
}
};
std::set< glm::vec3, compareVec > myset;
然而,我确信GLM包含了自己的向量比较函数。
我找到了以下资源,但我不确定该如何使用它: https://glm.g-truc.net/0.9.4/api/a00137.html
我应该如何将其中一个比较函数传递给我的集合?
set<glm::vec3, bool(*)(const glm::vec3& lhs, const glm::vec3& rhs)> myset(&compareVec);
- user4290866