gpt4 book ai didi

protocol-buffers - Google Protocol Buffer 和 STL 向量、映射和提升共享指针

转载 作者:行者123 更新时间:2023-12-04 17:58:00 25 4
gpt4 key购买 nike

谷歌 Protocol Buffer 是否支持 STL 向量、映射和提升共享指针?我有一些对象会大量使用 stl containers喜欢 maps , vectors还有 boost::shared_ptr .我想使用 google Protocol Buffer 将这些对象通过网络序列化到不同的机器。

我想知道 google protobuf 是否支持这些容器?此外,如果我使用 apache thrift相反,它会更好吗?我只需要序列化/反序列化数据,不需要 apache thrift 提供的网络传输。此外,没有适当文档的 apache thrift 也让我望而却步。

最佳答案

Protocol Buffers 直接处理少量的结构;向量很好地映射到“重复”元素类型,但是在 C++ 中如何呈现它是通过“添加”方法 - 你不(AFAIK)只是把它交给一个向量。请参阅“重复嵌入的消息字段”here了解更多信息。

重新映射;没有内置机制,但键/值对很容易在 .proto 中表示(通常键 = 1,值 = 2),然后通过“重复”处理。

shared_ptr 本身在序列化文件中似乎没有什么意义。但是该对象可以(大概)作为消息处理。

请注意,在 google C++ 版本中,会生成 DTO 层,因此您可能需要在它们与任何现有对象模型之间进行映射。这通常是微不足道的。

对于某些语言/平台,有适用于现有对象模型的 protobuf 变体。

(对不起,我不能评论节俭 - 我不熟悉它)

关于protocol-buffers - Google Protocol Buffer 和 STL 向量、映射和提升共享指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4883690/

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