我正在使用引用计数器包装器,它基本上包含指向堆上分配的对象的指针。当引用计数降为0时,包装器将删除该对象。引用是一个线程对象,它将一直运行直到关闭。保存引用的对象是静态类变量(MyClass)。
在MyClass析构函数运行之后,不会销毁对线程的引用(将引用计数递减为0并销毁基础对象),我相信在main之后发生。在包装器尝试释放对象之前,我是否可以保证线程的内存不会被操作系统释放?是C ++标准指定的行为还是留给操作系统?
请注意我使用的是旧的抽象层,而且它是各种各样的代码库。这就是我所坚持的。我可以放弃使用引用计数器包装器,这是该库中线程的常用习惯用法,但是按照预期的方式管理内存会更容易,更安全。