gpt4 book ai didi

c++ - 在构造函数中反序列化 C++ 中的对象

转载 作者:太空宇宙 更新时间:2023-11-03 10:45:46 24 4
gpt4 key购买 nike

在 C++ 中使用重载构造函数反序列化对象是一个好习惯,还是创建一个成员函数 deserialize(std::istream& file) 更好?

最佳答案

我建议创建一个单独的反序列化器函数,因为它分离了责任(即构造函数不需要担心它如何获取信息)。

例如

class Foo
{
Foo(int x)
...
}

Foo FooDeserialiser(Data data)
{
// get data to pass to constructor
return Foo(someInt);
}

可以创建一个成员函数,但我个人更喜欢将它与类分开(尽管我经常将它们放在同一个文件中),因为对我来说这会破坏封装。

关于c++ - 在构造函数中反序列化 C++ 中的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22311555/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com