当前位置:  开发笔记 > 编程语言 > 正文

如何制作可复制的boost :: signal?

如何解决《如何制作可复制的boost::signal?》经验,为你挑选了1个好方法。

我知道为什么boost::signal是不可复制(这是因为复制的信号没有明确的含义),但我需要的是一个版本,它提供了一些分类复制构造函数的(或者无操作或一个副本的所有连接).

我需要这个的原因是因为在我的项目中,许多对象只是凭借特征信号变得不可复制,并且用舒适的价值语义对待它们(shared_ptrs 那么舒服)我需要手动提供拷贝,违反DRY.显然,一种准可复制的信号对于C++的丑陋来说是一个很好的解决方法.

想到的第一个解决方案是继承signal并在派生类中提供复制ctor,但这是禁止的,因为信号没有虚拟dtor.

思考?



1> bayda..:

尝试在信号上保持指针(或shared_ptr)而不是信号.

推荐阅读
吻过彩虹的脸_378
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有