Я хочу написать кроссплатформенную оболочку для некоторых вызовов ОС (Linux / MacOSX / Windows), чтобы получить количество ядер ЦП и т. Д. Моя идея состояла в том, чтобы поместить их все в отдельные функции со статическими переменными,поэтому такие вещи, как количество ядер, которые не меняются, будут обрабатываться только один раз.
int getNumCPUCores()
{
static int numCores = 0;
if(!numCores)
{
// The info is aquired here
}
return numCores;
}
Теперь мне интересно, может ли это быть плохой идеей, поскольку все эти статические переменные занимают место в памяти независимо от того, инициализируются ли ониили нет.Или я что-то не так понял?