使用流来初始化c ++对象

时间:2011-06-30 07:59:55

标签: c++ object stream

我正在阅读Game Coding Complete,它建议有两个init()函数,一个是你常用的init()调用,另一个是一个流。虽然它没有详细介绍它,但我有点困惑。

class AnimatinPath
{
public:
   AnimationPath();
   Initialize(std::vector<AnimationPathPoints> const & srcPath);
   Initialize(InputStream & stream);
   // ...
};

接着说你可以从磁盘,内存或网络上初始化对象。

什么是流?我已经使用C ++大约2年了,我对stream的唯一体验是iostream。这是否表明我有一个可以使用的对象的二进制输出?

创建对象时,语法在另一端会看到什么。

感谢。

2 个答案:

答案 0 :(得分:1)

'Stream'实际上并不重要。

带流参数的第二个init函数表示对象序列化。

看一下这篇SO帖子:How do you serialize an object in C++?

您可以谷歌搜索“对象序列化”以获取更多信息。

答案 1 :(得分:0)

另一个init用于从某个流构建对象:光盘文件,网络数据等。在AnimationPath的情况下,您可以在某个文件中定义路径并使用此方法加载数据