由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - boost serialization的问题
相关主题
模板对象能不能作为成员变量使用[合集] java怎么这么怪呀?
boost::function 的 syntax 问题一个C++ template的问题
Does C++ have serializer and deserialzierserialization 到底该怎么理解啊?
Boost.Serialization no longer maintained?C++ template preprocessor
Help to compile boost serializationC++ templates
boost更新太快了a c++ question
如何保存一个stl容器的完整内容Any difference between class and typename identifier?
问一道有关C++ (de)serialization的问题,谢谢![菜鸟问题]类模板问题
相关话题的讨论汇总
话题: oarchive话题: iarchive话题: boost
进入Programming版参与讨论
1 (共1页)
c*******t
发帖数: 1095
1
有用过boost serialization的么? 能不能有啥办法实现用一个变量既表示iarchive,
又表示oarchive?
比如
变量 a,
if (doWrite) {
a 就是 oarchive;
}
else {
a 就是 iarchive;
}
然后对a进行处理。。。
谢谢
X****r
发帖数: 3557
2
把“对a进行处理”那部分写成个template function:
template
void doSomeThing(A& archive, const SomeOtherData& data) {
//...
}
在你的调用的地方:
if (doWrite) {
// Create an oarchive object
doSomeThing(oarchive, data);
} else {
// Create an iarchive object
doSomeThing(iarchive, data);
}
不过你需要这样做的时候往往意味着你可能需要重新考虑一下你的设计,比如这个
SomeOtherData可以改为Serializable用doSomeThing来Serialize。

【在 c*******t 的大作中提到】
: 有用过boost serialization的么? 能不能有啥办法实现用一个变量既表示iarchive,
: 又表示oarchive?
: 比如
: 变量 a,
: if (doWrite) {
: a 就是 oarchive;
: }
: else {
: a 就是 iarchive;
: }

1 (共1页)
进入Programming版参与讨论
相关主题
[菜鸟问题]类模板问题Help to compile boost serialization
文一个简单的c++boost更新太快了
Help: who has gcc 4.0 or higher如何保存一个stl容器的完整内容
where to define my template function问一道有关C++ (de)serialization的问题,谢谢!
模板对象能不能作为成员变量使用[合集] java怎么这么怪呀?
boost::function 的 syntax 问题一个C++ template的问题
Does C++ have serializer and deserialzierserialization 到底该怎么理解啊?
Boost.Serialization no longer maintained?C++ template preprocessor
相关话题的讨论汇总
话题: oarchive话题: iarchive话题: boost