簡體   English   中英

如何將 C++ std::vector 設置為 OAT++ Vector

[英]How to set a C++ std::vector to OAT++ Vector

我從設備獲取矩陣數據 (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?

謝謝你。

如果您有oatpp::Vector<oatpp::Float32>std::vector<float>那么對於 Oat++ 1.3.0您必須手動填充oatpp::Vector<oatpp::Float32>中的元素

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);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM