У меня есть код,
// CFoo.h
class CFoo
{
public:
CFoo();
~CFoo();
static const std::string mStr;
};
// CFoo.cpp
const std::string mStr = "MyFoo";
CFoo::CFoo()
{
}
CFoo::~CFoo()
{
}
Когда будет инициализирован мой статический mStr? Когда мое приложение выполняется? Или при создании экземпляра CFoo?
Благодарю!
Реализация определена.
Единственное, что гарантировано, это то, что он будет инициализирован к тому времени, когда ваше приложение сначала войдет в блок перевода, который его определяет.
main()
.