小编Ste*_*ler的帖子

std::map 上的自定义 Omp 减少

所以我遇到的问题大致如下:

我有一个相对较大的数据集,其中始终包含一对标识符和与其相关的值。因此,存在相对较少的不同但任意的标识符。

在 C++ 中,这可能看起来像一个std::vector<std::pair<size_t, double> >.

我现在想要生成一个std::map,它告诉我们每个标识符的所有值的总和,因此在本例中为std::map<size_t, double>

所以对于输入

std::vector<std::pair<size_t, double>> typeDoubleVec{{1, 2.}, {3, 4.}, {1, 3.}, {3, 5.}, {2, 1.}};
Run Code Online (Sandbox Code Playgroud)

我想要一张等于:

std::map<size_t, double> result{{1, 5.}, {2, 1.}, {3, 9.}}
Run Code Online (Sandbox Code Playgroud)

完成这项工作的函数如下所示。因此,第二个输入向量指定存在哪些标识符:

std::map<size_t, double> foo(const std::vector<std::pair<size_t, double>> &typeDoubleVec, const std::vector<size_t> &typeVec) {
  // create the map that contains our return values.
  std::map<size_t, double> mymap;

  // ensure that mymap contains all identifiers.
  for (auto &elem : typeVec) {
    mymap[elem];
  }

  // iterate over the elements …
Run Code Online (Sandbox Code Playgroud)

c++ multithreading openmp clang

2
推荐指数
1
解决办法
2004
查看次数

标签 统计

c++ ×1

clang ×1

multithreading ×1

openmp ×1