【发布时间】:2017-08-23 13:55:08
【问题描述】:
我们有一个类,我们将boost::lockfree::queue 声明为static 数据成员并覆盖new 和delete 运算符。 new / delete 运算符中的逻辑是创建一个类的实例来获取/放入队列中的对象的指针。
问题是在测试用例完成后我得到段错误。如果我评论 delete arr[i] 语句,则不再发生故障。
我的假设是导致 Boost 队列是静态的,因此数据成员将最后被销毁,或者在程序结束时将调用它自己的析构函数,但是我不确定它的析构函数中是什么导致中止或给出分段错误。
任何指针对解决问题真的很有帮助吗?
【问题讨论】: