C++相談室 part19
■ このスレッドは過去ログ倉庫に格納されています
0287デフォルトの名無しさん
NGNG{
protected:
static std::set<CHoge*> s_hoges;
public:
CHoge();
~CHoge();
};
--------------
static std::set<CHoge*> CHoge::s_hoges;
CHoge::CHoge()
{
s_hoges.insert(this);
}
CHoge::~CHoge()
{
s_hoges.erase(this);
}
こういう風にして自分のインスタンスの一覧を管理してるプログラムがあるんですが、
CHogeのオブジェクトがグローバル変数だった場合、プログラム終了時に、CHogeの
インスタンスよりもs_hogesの方が先に消滅してしまうらしく、CHogeのデストラクタ
でアクセスエラーが発生します。どうすりゃええのですか
■ このスレッドは過去ログ倉庫に格納されています