我想为一些特定于操作系统(Linux/MacOSX/Windows)的调用编写一个跨平台的包装器,以获取CPU的内核数等。我的想法是将它们全部放在带有静态变量的单个函数中,所以像不更改的内核数这样的东西只会处理一次。
int getNumCPUCores()
{
static int numCores = 0;
if(!numCores)
{
// The info is aquired here
}
return numCores;
}
现在我想知道这是否是个坏主意,因为不管是否初始化,所有这些静态变量都会占用内存空间。
还是我误会了什么?
最佳答案
int
是几个字节(在大多数现代平台上是4或8个字节)。除非你有数以百万计的静态变量或者一些非常大类型的静态变量,否则你不需要担心它。
关于c - 函数中的许多静态变量是否占用最多的内存?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3393064/