我正在阅读Game Coding Complete
,它建议有两个init()
函数,一个是你常用的init()调用,另一个是一个流。虽然它没有详细介绍它,但我有点困惑。
class AnimatinPath
{
public:
AnimationPath();
Initialize(std::vector<AnimationPathPoints> const & srcPath);
Initialize(InputStream & stream);
// ...
};
接着说你可以从磁盘,内存或网络上初始化对象。
什么是流?我已经使用C ++大约2年了,我对stream
的唯一体验是iostream。这是否表明我有一个可以使用的对象的二进制输出?
创建对象时,语法在另一端会看到什么。
感谢。
答案 0 :(得分:1)
'Stream'实际上并不重要。
带流参数的第二个init
函数表示对象序列化。
看一下这篇SO帖子:How do you serialize an object in C++?
您可以谷歌搜索“对象序列化”以获取更多信息。
答案 1 :(得分:0)
另一个init
用于从某个流构建对象:光盘文件,网络数据等。在AnimationPath
的情况下,您可以在某个文件中定义路径并使用此方法加载数据