я пытаюсь отправить объект Повсеместно именованный канал, но я не понимаю, как сериализовать мой объект:C++ отправить объекты в именованный канал
class Order {
public:
void addFile(std::string const &file);
void setType(Parser::Information const &type);
std::list<std::string> getFileList() const;
Parser::Information getType() const;
void clear();
private:
std::vector<std::string> fileList;
Parser::Information type;
};
я уже успел сделать свою именованный работу трубы с основные типы данных, но я не понимаю, как отправлять и получать полный объект (без использования форсированной сериализации)
Я попытался поместить данные объекта в структуру, но мне не удалось отправить его по названию трубы ... вероятно, из-за вектора
Может ли кто-нибудь поделиться своими знаниями край со мной пожалуйста
В C++ структура очень похожа на класс. –
std :: vector, и std :: list, и std :: string все имеют указатели. Другими словами, чтобы передать содержимое любого из них, вам придется «устранить» указатели и отправить только данные. Много способов сделать это. Срок исследования «постоянное хранение». –
Для этого вам нужна сериализация. Вам нужно либо написать код, либо использовать существующую инфраструктуру, чтобы (de) сериализовать ваши объекты (to и) из потока байтов. – Useless