匿名の名前空間内にグローバル変数があります。
namespace {
std::unordered_map<std::string, std::string> m;
}
A::A() { m.insert(make_pair("1", "2")); } // crasches
void A::insert() { m.insert(make_pair("1", "2")); } // ok
map
コンストラクターの内部を使用しようとすると、アクセス違反の読み取り場所が表示されます。A
しかし、初期化した後で使用すると機能します。
この動作は正しいですか?