我想为一些特定于操作系统(Linux/MacOSX/Windows)的调用编写一个跨平台包装器来获取CPU的内核数量等等.我的想法是将所有这些包含在具有静态变量的单个函数中,所以像未更改的核心数量只会被处理一次.
int getNumCPUCores()
{
static int numCores = 0;
if(!numCores)
{
// The info is aquired here
}
return numCores;
}
Run Code Online (Sandbox Code Playgroud)
现在我想知道这是不是一个坏主意,因为所有这些静态变量都会占用内存空间,无论它们是否已初始化.还是我误解了什么?