(反)序列化 QSet 与枚举使用 QDataStream
Posted
技术标签:
【中文标题】(反)序列化 QSet 与枚举使用 QDataStream【英文标题】:(De)serialization QSet with enum using QDataStream 【发布时间】:2017-08-11 09:14:50 【问题描述】:我使用 Qt 4.8.7。我有enum Color red, green, blue
和QSet<Color>
。我应该如何使用QDataStream
(反)序列化QSet<Color>
?自定义类型的反序列化失败。除了反序列化之外,我还应该手动创建序列化(循环 QSet 元素)吗?我的意思是QSet的内部序列化实现理论上可以由Qt开发者改变,所以我必须自己写两个循环进行序列化/反序列化。
【问题讨论】:
【参考方案1】:您可以使用以下强制转换进行反序列化以避免创建手动循环:
data_stream >> reinterpret_cast<QSet<qint32>&>(color_set2);
【讨论】:
以上是关于(反)序列化 QSet 与枚举使用 QDataStream的主要内容,如果未能解决你的问题,请参考以下文章