Использование потоков для инициализации объектов C ++ - PullRequest
1 голос
/ 30 июня 2011

Я читаю Game Coding Complete, и он предлагает иметь две init() функции, одна из которых является вашим обычным вызовом init (), а другая принимает поток. Хотя в этом нет подробностей, и я немного растерялся.

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

Далее говорится, что вы можете инициировать объекты с диска, из памяти или по сети.

Что такое поток? Я использую C ++ около 2 лет, и мой единственный опыт работы с stream - это iostream. Это говорит о том, что у меня есть двоичный вывод объекта, который я могу использовать?

Как будет выглядеть синтаксис на другом конце при создании объекта.

Спасибо.

Ответы [ 2 ]

1 голос
/ 30 июня 2011

«Поток» на самом деле не важен.

Вторая init функция с параметром потока означает сериализацию объекта.

Посмотрите на этот пост: Как вы сериализуете объект в C ++?

Для получения дополнительной информации вы можете использовать Google для «сериализации объектов».

0 голосов
/ 30 июня 2011

Этот другой init предназначен для построения объекта из некоторого потока: дисковый файл, сетевые данные и т. Д. В случае AnimationPath вы можете указать путь в каком-то файле и использовать этот метод для загрузки данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...