Этот вопрос по оптимизации меня беспокоил последний день.
В моей программе (простая игра в стиле 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;
}
Спасибо.