这个优化问题在最后一天一直困扰着我。
在我的程序(一个简单的 roguelike 游戏)中,我使用按位标志来存储地图对象的属性,例如它们是否是实体的,或者它们是否被渲染。但是,我可以使用多态性来完成这件事以返回适当的值。
我的问题是,在链表循环中使用时,任何一种方式都比另一种方式快得多还是慢得多?另外,一种做法比另一种更好吗?
代码示例:
XMapObject *List = ListStart;
while(List != NULL)
{
if(List->MapObjectFlags & MAPOBJECTFLAG_RENDER)
OR
if(List->Render())
{
return List->Type;
}
else
{
List = List->Next;
}
}
bool XMapObject::Render()
{
return 1;
}
谢谢。