こんにちは、いくつかの値を持つ静的な std::map と、このようなデフォルト要素への静的イテレータがあり、両方を一度に初期化します。
.h ファイル内
class foo
{
static std::map<std::string, int> sqlenumToInt;
static std::map<std::string, int> initEnumToInt();
static std::map<std::string, int>::iterator defaultIt;
};
.c ファイルで
std::map<std::string, int> foo::sqlenumToInt = initEnumToInt();
std::map<std::string, int> foo::defaultIt = std::map<std::string, int>::iterator();
std::map<std::string, int> foo::initEnumToInt();
{
std::map<std::string, int> test;
defaultIt = test.insert(std::make_pair("a", 0)).first
test["b"] = 2;
test["c"] = 3;
test["d"] = 4;
return test;
}
静的変数の初期化のデフォルトの順序。sqlenumToInt の最初の要素への std::map::iterator() または iterator のみが defaultIt になりますか??