C ++控制静态成员释放的顺序

时间:2010-06-30 20:21:50

标签: c++

我有一个带有引用计数智能指针类的C ++程序。此类通过将指针映射到静态映射中的引用计数来工作:

map<ValueIntern*,unsigned int>& ValueRetainMapGetter(){
    static map<ValueIntern*,unsigned int> m;
    return m;
}

我遇到的问题是,在参考地图被解除分配后,我所拥有的一些静态变量将被释放。

我的问题是:如何控制静态变量的释放顺序,以便在所有引用之后释放映射。

1 个答案:

答案 0 :(得分:2)

我建议您使用boost::shared_ptr(或std::tr1::shared_ptr,如果它在您的工具链中),而不是自己滚动。