Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/147.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ C+中的序列化+;_C++_Serialization_Deserialization - Fatal编程技术网

C++ C+中的序列化+;

C++ C+中的序列化+;,c++,serialization,deserialization,C++,Serialization,Deserialization,我想知道,如果我需要在程序中序列化某些对象,我是否可以简单地序列化构造函数参数,然后在反序列化后使用这些参数构建一个新对象?因此,我将有两个相同类型的对象,并用相同的参数构建,我们可以将它们视为完全相同的对象吗?这几乎是两个问题。如果从“Hello”和一些恰巧包含“Hello”的char*生成std::string,它们是同一个字符串吗?另外,你不能只在这里保存指针-你需要保存contants来重建std::string。那么在对象被构造后状态的改变呢?@RichardCritten我得到了它,

我想知道,如果我需要在程序中序列化某些对象,我是否可以简单地序列化构造函数参数,然后在反序列化后使用这些参数构建一个新对象?因此,我将有两个相同类型的对象,并用相同的参数构建,我们可以将它们视为完全相同的对象吗?

这几乎是两个问题。如果从“Hello”和一些恰巧包含“Hello”的char*生成std::string,它们是同一个字符串吗?另外,你不能只在这里保存指针-你需要保存contants来重建std::string。那么在对象被构造后状态的改变呢?@RichardCritten我得到了它,谢谢,这完全取决于你的类的实现。如果构造它只涉及使用构造函数参数作为输入的纯函数,那么构造的类在性质上是相同的。如果构造函数做了一些其他的事情(从调用随机生成器、执行IO、调用执行其中一项任务的库等等),那么结果可能会有所不同。