gpt4 book ai didi

c++ - 可以 std::map 键地址值的数量吗?

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:33:42 26 4
gpt4 key购买 nike

这可能是一个有点愚蠢的问题,但假设 std::map 定义如下:

 std::map<int, int> m;

有没有什么方法可以存储多个值并可以通过一个访问?

提问的动机:

std::map 有像 count()equal_range() 这样的方法,它们获取一个键作为参数,这样可以给出一个感觉一个键可以指定多个值。

最佳答案

这些方法的存在是为了为其他关联容器提供一个通用接口(interface),这些关联容器确实允许每个键有多个值(例如 std::multimap,这正是您正在寻找的)。

这使得通用算法(即使用模板)的实现比其他方式容易得多,并且以这种方式设计不会丢失任何值(value)。

的确,在 std::map 的情况下, count() 只能给你零或一个(除非你使用透明键,这是另一回事)。

C++20将介绍std::map::contains() ,这或多或少是对 count() == 1 的检查——这似乎是为了解决函数 count() 有点奇怪的问题std::map 特别需要的东西。

关于c++ - 可以 std::map 键地址值的数量吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54571708/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com