【问题标题】:How to set a C++ std::vector to OAT++ Vector如何将 C++ std::vector 设置为 OAT++ Vector
【发布时间】:2021-11-11 12:02:36
【问题描述】:

我从一个设备得到一个矩阵数据(float *),我可以把它转换成std::vector,我想把数据返回给调用者。

我将 DTO 定义为

class TempMatrixDto : public oatpp::DTO{

  DTO_INIT(TempMatrixDto, DTO)

  DTO_FIELD(Object<MeasureDto>, measureParm, "parm");
  DTO_FIELD(Vector<Float32>, MatrixData, "MatrixData");
};

在应用程序代码中:

  auto tempMatrix = TempMatrixDto::createShared();
  tempMatrix->measureParm=xxxx;

如何将 std::vector 或数组 (float *) 设置为 tempMatrix->MatrixData?

谢谢。

【问题讨论】:

    标签: oat++


    【解决方案1】:

    如果你有oatpp::Vector&lt;oatpp::Float32&gt;std::vector&lt;float&gt; 那么 至于Oat++1.3.0你必须手动填写oatpp::Vector&lt;oatpp::Float32&gt;中的元素

    auto tempMatrix = TempMatrixDto::createShared();
    tempMatrix->MatrixData = {}; // init empty vector. Otherwise it will be null
    
    std::vector<float> values({1.0, 2.0, 3.0});
    
    for(auto& v : values) {
      tempMatrix->MatrixData->push_back(v);
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-31
      • 2020-12-07
      • 1970-01-01
      • 1970-01-01
      • 2017-05-13
      • 1970-01-01
      相关资源
      最近更新 更多