以下哪种方式更快?

时间:2015-04-18 17:02:28

标签: c++ performance vector struct

我想知道这两种方法中的哪一种更快:

方法1:结构如:

//The Struct
struct element
{
    Element* elementPtr;
    uint map;
    std::string name;
    Vector3 pos;
    long type;
}

//Type of container
std::vector<element> elementVctr;

//Finding method
for(uint ix = 0, ix < elementVctr.size(); ix++)
{
    if(elementVctr[ix].name == "nameToFind")
    {
        return elementVctr[ix].name;
        break;
    }
}

方法2:VectorLike:

std::vector<std::vector<std::string>> elementVctr;
//Every element is this elementVctr[x], and its properties elementVctr[x][y]
//Finding Method
for(uint ix = 0, ix < elementVctr.size(); ix++)
{
    if(elementVctr[ix][4] == "nameToFind")
    {
        return elementVctr[ix][4];
        break;
    }
}

我一直在使用vectorLike,因为这是我所知道的唯一方式,但现在我已经学会了如何使用结构,我认为它们应该比我的矢量方式更快。

另一个问题是,有没有其他方法,比我的发现方式更快,查看向量并检查它是否是我找到的?

感谢您的回答,然后您认为使用向量向量并使用迭代应该执行更快的响应时间?

1 个答案:

答案 0 :(得分:0)

结构方式更清晰和设计更好,不一定更快。此外,由于矢量的增长行为,使用嵌套向量通常也不赞成。

相关问题