我在c++ / qt中具有以下三角形结构,并且我想为其实现一个索引器,以便我可以按索引访问任何顶点,有人可以帮助解决这个问题吗?

这是结构:

struct Triangle
{
    QVector3D *a;
    QVector3D *b;
    QVector3D *c;
}

最佳答案

如果确实需要,可以将运算符[]添加到类中,如下所示:

struct Triangle
{
QVector3D *a;
QVector3D *b;
QVector3D *c;
QVector3D * operator[](int n) {return n==0?a:n==1?b:n==2?c:Q_NULLPTR;}
};

Triangle tr;
//.....
auto test = tr[0]; //will return vector 'a'

10-06 01:51