c++ - 是否有一种优雅的可能性可以将多个集合包含到多重映射中?

标签 c++ set multimap

我有几套相同类型的:

std::set< TDate> spieltagDatum;

我想将它们全部包含到这种类型的多重映射中:

std::multimap<TDate, int> ereignis;

是否有一种优雅的可能性(也许与 lambda 相关的函数?)将 ONE 集的所有成员包含到上面的多重映射中,而不使用迭代器机制? (在插入期间应使用 INT 参数丰富多重映射对)。

最佳答案

我可以建议使用带有 auto 的简化 for 循环,而不是迭代器,如下所示。

我使用整数 TDate 只是作为例子,在我的代码中也可以使用任何函数来代替 123 来填充多重映射的值。

Try it online!

#include <map>
#include <set>

int main() {
    using TDate = int;
    std::set<TDate> spieltagDatum = {3, 5, 7};
    std::multimap<TDate, int> ereignis;
    for (auto & e: spieltagDatum)
        ereignis.emplace(e, 123);
}

关于c++ - 是否有一种优雅的可能性可以将多个集合包含到多重映射中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67239625/

相关文章:

C++ OpenSceneGraph 更改相机眼睛高度

java - 如何定义我自己的元素类以用于 Set

java - Multimap.inverse() 到(非多重) map (原始 map 中的值已知是唯一的)

c++ - std::multimap 上的 emplace_hint 是否保留等效元素的相对顺序?

c++ - C 或 C++ 中乘法和除法的较高部分?

c++ - 将目录传递给 g++ 以包含文件的正确标志

c++ - Clang 和 GCC 误推模板参数

javascript - 如何在 mongodb 控制台中使用 set(data structure)?

java - Hibernate PersistentSet remove() 操作不起作用

c++ - 从 multimap 中删除 "value"