0

私はコードをもっている、

// 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 のインスタンスを作成するときですか?

ありがとう!

4

1 に答える 1

2

それは実装定義です。

保証されている唯一のことは、アプリケーションがそれを定義する翻訳単位に最初に入るまでに初期化されることです。

于 2013-10-27T05:15:17.957 に答える