在某些情况下,我将std :: vector声明为全局。确切地说,vector是std :: list的集合,它是int的集合。
firebase_auth: ^0.11.1+11
我正在将其全局化在命名空间下的一个文件中。喜欢:
std::vector<std::list<int> >
工作完成后,我使用此代码(在函数内部)清除了向量
namespace SPACE_1 {
std::vector<std::list<int> > vec_1;
class CLASS_1 {
// And inside this class I have some functions which
// populates this vec_1
}
}
到目前为止有道理吗?
在main的末尾,该向量的析构函数被调用,这很好,并且由于某种原因而断言。不明白为什么!我了解它调用了析构函数,但不是为什么会崩溃。
您可能会说,为什么我要清除此问题,并在程序结束时自动处理。是的,我同意,但我想了解这种情况。
没有什么帮助?