Статические переменные в часто вызываемых функцияхC++

Программы на C++. Форум разработчиков
Anonymous
Статические переменные в часто вызываемых функциях

Сообщение Anonymous »

Код: Выделить всё

void storeValidVIDS()
{
static unsigned int mainVID = 0, maxVID = 0, minVID = 0;
static unsigned long* currentInstance = nullptr;
mainVID = GetMainActorVID();
maxVID = mainVID + 5000;
minVID = mainVID - 5000;
while (minVID < maxVID)
{
currentInstance = GetInstancePTR(minVID);
if (HasInstance(currentInstance) && GetInstanceType(currentInstance) == 6)
validVids.insert(minVID);
++minVID;
}
}
используя эту функцию в качестве примера, которая перебирает диапазон виртуальных идентификаторов и сохраняет их в unordered_set, если условие истинно.
при условии, что эта функция вызывается непрерывно каждые 100 миллисекунд. , лучше ли использовать статические переменные с точки зрения производительности, поскольку они инициализируются один раз?
если да, применимо ли это также к контейнерам? Могу ли я сделать что-то вроде static std::vector validTargets = {};, зная, что функция будет вызываться снова и снова.

Подробнее здесь: https://stackoverflow.com/questions/786 ... frequently

Вернуться в «C++»