我想知道这两种方法中的哪一种更快:
方法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,因为这是我所知道的唯一方式,但现在我已经学会了如何使用结构,我认为它们应该比我的矢量方式更快。
另一个问题是,有没有其他方法,比我的发现方式更快,查看向量并检查它是否是我找到的?
感谢您的回答,然后您认为使用向量向量并使用迭代应该执行更快的响应时间?
答案 0 :(得分:0)
结构方式更清晰和设计更好,不一定更快。此外,由于矢量的增长行为,使用嵌套向量通常也不赞成。