gpt4 book ai didi

c++ - 如何初始化 Protocol Buffer 中的重复元素?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:37:14 24 4
gpt4 key购买 nike

假设我有这条消息。

message A {
repeated float w = 1 [packed = true];
}

如何在我的代码中初始化 w?我还能做得更好吗?

a = A()    
for (int i = 0 ; i < n; ++i)
a.add_w(0);

最佳答案

a.w()a.mutable_w()将返回 google::protobuf::RepeatedField<float> 它提供了一些额外的选项。例如,您可以调用 a.mutable_w()->Reserve(n)提前预分配空间,以避免每次大小加倍时重新分配的通常策略。您也可以使用 Resize(n)其次是 mutable_data()直接访问底层缓冲区,但这可能不会比 Reserve(n) 提供太多速度优势然后是你的循环。

关于c++ - 如何初始化 Protocol Buffer 中的重复元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33193372/

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