增强蝇量级恐慌

Posted

技术标签:

【中文标题】增强蝇量级恐慌【英文标题】:boost flyweight panics 【发布时间】:2012-08-07 12:18:46 【问题描述】:

我使用的是 Boost 1.39。我已经使用boost::flyweight<no_locking, hashed_factory<> > 实现了我的课程(我的应用程序是单线程的)。我班级的测试程序顺利通过,但是当我在应用程序中使用时,我很恐慌

#9  0x08de7c3e in boost::flyweights::detail::refcounted_value<boost::flyweights::detail::default_value_policy<SharedFileAttr>::rep_type, SharedFileAttr>::release (this=0x0) at /usr/include/boost/flyweight/refcounted.hpp:89
#10 0x08de7517 in boost::flyweights::detail::refcounted_handle<boost::flyweights::detail::refcounted_value<boost::flyweights::detail::default_value_policy<SharedFileAttr>::rep_type, SharedFileAttr> const*, boost::flyweights::detail::flyweight_core_tracking_helper<boost::flyweights::detail::default_value_policy<SharedFileAttr>, mpl_::na, boost::flyweights::refcounted, boost::flyweights::hashed_factory<mpl_::na, mpl_::na, mpl_::na, 0>, boost::flyweights::no_locking, boost::flyweights::static_holder> >::~refcounted_handle (this=0xf32fe61c, 
    __in_chrg=<value optimized out>) at /usr/include/boost/flyweight/refcounted.hpp:131
#11 0x08e2edfe in boost::flyweights::flyweight<SharedFileAttr, boost::flyweights::no_locking, boost::flyweights::hashed_factory<mpl_::na, mpl_::na, mpl_::na, 0>, boost::parameter::void_, boost::parameter::void_, boost::parameter::void_>::operator= (this=0xf32fe7e4, x=...)
    at /usr/include/boost/flyweight/flyweight.hpp:196

请注意,在第 9 帧中,这是 0x0

我不确定我的代码如何使用 boost::flyweight 导致引用计数问题。毕竟,我的接口只包含添加享元对象和销毁它们的方法。

我不知道如何解决问题。有什么想法吗?

【问题讨论】:

我们可能需要看一些代码才能理解这一点。 【参考方案1】:

嗯,很尴尬,但问题是试图将一个未初始化的享元对象分配给另一个对象。一定要记得初始化所有类成员...

【讨论】:

以上是关于增强蝇量级恐慌的主要内容,如果未能解决你的问题,请参考以下文章

AdonisUI - 用于 WPF 应用程序的轻量级 UI 工具包,提供经典但增强的 Windows 视觉效果...

Java 关键字特性增强-Volatile

Android DrawerLayout Plus 增强版抽屉菜单

基于零参考深度曲线估计的暗光图像增强

go语言简单介绍,增强了解

基于零参考深度曲线估计的暗光图像增强