这是一个理论问题。假设有一些对象,其中包含订阅这些对象的事件的回调函数列表。现在我们想将这些对象存储在磁盘上。是一个std::function
可序列化?
No.
每当使用类型擦除(即,将实现细节隐藏在接口后面)时,在不知道对象的动态类型的情况下唯一可用的操作是接口提供的操作。
C++ 标准中没有序列化,也没有简单的方法来序列化功能要么(不反射),因此std::function
接口不提供序列化。
另一方面,没有什么可以阻止you从使用Callback
提供序列化支持的基类。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)