【问题标题】:Type conversion to vector in C++在 C++ 中将类型转换为向量
【发布时间】:2014-11-28 13:53:43
【问题描述】:

如何将RepeatedField<google::protobuf::uint32> 转换为const std::vector<double>

【问题讨论】:

  • 从 RepeatedField 中删除每个元素并将其放入向量中应该可以工作。
  • @BenjaminBannier:所有 (u)int32 值都可以精确地存储在 double 中。 stackoverflow.com/a/1848762/25488

标签: c++


【解决方案1】:

这应该很容易,因为重复的字段充当容器:

void foo(RepeatedField<google::protobuf::uint32> const & f)
{
    std::vector<double> v(f.begin(), f.end());

    // use v
}

【讨论】:

  • @KarolyHorvath 解决方案是 WLOG。
  • 我收到此错误“表达式向量迭代器 + 偏移超出范围”
  • 是的......它执行得很好,但有一次它抛出了这个错误。
  • @Dosti:那你别处搞错了,和RepeatedField的迭代器接口根本没有联系。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-11-07
  • 1970-01-01
  • 2015-03-28
  • 1970-01-01
  • 2017-10-10
  • 2019-07-17
  • 2023-03-29
相关资源
最近更新 更多