我有一个关于选择哪个函数来初始化静态类成员的问题。
//Base.h
class Base
{
private:
static int count;
static int countInit()
{
return 10;
}
public:
Base()
{
}
};
//and Base.cpp
static int countInit()
{
return 0;
}
int Base::count=countInit();//member function is used.
static int local_count=countInit();//the local one in Base.cpp
该变量Base::count
是使用Base::countInit()
而不是countInit()
在 Base.cpp 中定义的进行初始化的。但是local_count
是由本地初始化的countInit
。所以,我想知道,在这种情况下是否有像Koenig 查找这样的规则?