使用给定键的所有多重映射值填充向量

2024-01-08

Given a multimap<A,B>M 有什么巧妙的方法来创建vector<B>M 中具有特定键的所有值。

例如,给定多重映射,我怎样才能获得映射到值 123 的所有字符串的向量?

An答案很简单,从下限到上限循环,但是有没有一种简洁的无循环方法?


以下是 STL 风格的实现方式:

// The following define is needed for select2nd with DinkumWare STL under VC++
#define _HAS_TRADITIONAL_STL 1

#include <algorithm>
#include <vector>
#include <map>
#include <string>
#include <functional>
#include <map>
#include <iterator>
#include <iostream>

using namespace std;

void main()
{
    typedef multimap<string, int> MapType;
    MapType m;
    vector<int> v;

    // Test data
    for(int i = 0; i < 10; ++i)
    {
        m.insert(make_pair("123", i * 2));
        m.insert(make_pair("12", i));
    }

    MapType::iterator i = m.lower_bound("123");
    MapType::iterator j = m.upper_bound("123");

    transform(i, j, back_inserter(v), select2nd<MapType::value_type>());

    copy(v.begin(), v.end(),  ostream_iterator<int>(cout, ","));

}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用给定键的所有多重映射值填充向量 的相关文章

  • 我如何才能等待多个事情

    我正在使用 C 11 和 stl 线程编写一个线程安全队列 WaitAndPop 方法当前如下所示 我希望能够将一些内容传递给 WaitAndPop 来指示调用线程是否已被要求停止 如果 WaitAndPop 等待并返回队列的元素 则应返回
  • Web 客户端和 Expect100Continue

    使用 WebClient C NET 时设置 Expect100Continue 的最佳方法是什么 我有下面的代码 我仍然在标题中看到 100 continue 愚蠢的 apache 仍然抱怨 505 错误 string url http
  • 秒表有最长运行时间吗?

    多久可以Stopwatch在 NET 中运行 如果达到该限制 它会回绕到负数还是从 0 重新开始 Stopwatch Elapsed返回一个TimeSpan From MSDN https learn microsoft com en us
  • 查找c中结构元素的偏移量

    struct a struct b int i float j x struct c int k float l y z 谁能解释一下如何找到偏移量int k这样我们就可以找到地址int i Use offsetof 找到从开始处的偏移量z
  • Asp.NET WebApi 中类似文件名称的路由

    是否可以在 ASP NET Web API 路由配置中添加一条路由 以允许处理看起来有点像文件名的 URL 我尝试添加以下条目WebApiConfig Register 但这不起作用 使用 URIapi foo 0de7ebfa 3a55
  • 为什么当实例化新的游戏对象时,它没有向它们添加标签? [复制]

    这个问题在这里已经有答案了 using System Collections using System Collections Generic using UnityEngine public class Test MonoBehaviou
  • HTTPWebResponse 响应字符串被截断

    应用程序正在与 REST 服务通信 Fiddler 显示作为 Apps 响应传入的完整良好 XML 响应 该应用程序位于法属波利尼西亚 在新西兰也有一个相同的副本 因此主要嫌疑人似乎在编码 但我们已经检查过 但空手而归 查看流读取器的输出字
  • 不同枚举类型的范围和可转换性

    在什么条件下可以从一种枚举类型转换为另一种枚举类型 让我们考虑以下代码 include
  • 将 VSIX 功能添加到 C# 类库

    我有一个现有的单文件生成器 位于 C 类库中 如何将 VSIX 项目级功能添加到此项目 最终目标是编译我的类库项目并获得 VSIX 我实际上是在回答我自己的问题 这与Visual Studio 2017 中的单文件生成器更改 https s
  • 重载<<的返回值

    include
  • 转发声明和包含

    在使用库时 无论是我自己的还是外部的 都有很多带有前向声明的类 根据情况 相同的类也包含在内 当我使用某个类时 我需要知道该类使用的某些对象是前向声明的还是 include d 原因是我想知道是否应该包含两个标题还是只包含一个标题 现在我知
  • 如何在 C 中调用采用匿名结构的函数?

    如何在 C 中调用采用匿名结构的函数 比如这个函数 void func struct int x p printf i n p x 当提供原型的函数声明在范围内时 调用该函数的参数必须具有与原型中声明的类型兼容的类型 其中 兼容 具有标准定
  • 什么时候虚拟继承是一个好的设计? [复制]

    这个问题在这里已经有答案了 EDIT3 请务必在回答之前清楚地了解我要问的内容 有 EDIT2 和很多评论 有 或曾经 有很多答案清楚地表明了对问题的误解 我知道这也是我的错 对此感到抱歉 嗨 我查看了有关虚拟继承的问题 class B p
  • 如何查看网络连接状态是否发生变化?

    我正在编写一个应用程序 用于检查计算机是否连接到某个特定网络 并为我们的用户带来一些魔力 该应用程序将在后台运行并执行检查是否用户请求 托盘中的菜单 我还希望应用程序能够自动检查用户是否从有线更改为无线 或者断开连接并连接到新网络 并执行魔
  • Windows 窗体:如果文本太长,请添加新行到标签

    我正在使用 C 有时 从网络服务返回的文本 我在标签中显示 太长 并且会在表单边缘被截断 如果标签不适合表单 是否有一种简单的方法可以在标签中添加换行符 Thanks 如果您将标签设置为autosize 它会随着您输入的任何文本自动增长 为
  • 如何从两个不同的项目中获取文件夹的相对路径

    我有两个项目和一个共享库 用于从此文件夹加载图像 C MainProject Project1 Images 项目1的文件夹 C MainProject Project1 Files Bin x86 Debug 其中有project1 ex
  • 将控制台重定向到 .NET 程序中的字符串

    如何重定向写入控制台的任何内容以写入字符串 对于您自己的流程 Console SetOut http msdn microsoft com en us library system console setout aspx并将其重定向到构建在
  • C# 成员变量继承

    我对 C 有点陌生 但我在编程方面有相当广泛的背景 我想做的事情 为游戏定义不同的 MapTiles 我已经像这样定义了 MapTile 基类 public class MapTile public Texture2D texture pu
  • 是否可以在 .NET Core 中将 gRPC 与 HTTP/1.1 结合使用?

    我有两个网络服务 gRPC 客户端和 gRPC 服务器 服务器是用 NET Core编写的 然而 客户端是托管在 IIS 8 5 上的 NET Framework 4 7 2 Web 应用程序 所以它只支持HTTP 1 1 https le
  • 使用.NET技术录制屏幕视频[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 有没有一种方法可以使用 NET 技术来录制屏幕 无论是桌面还是窗口 我的目标是免费的 我喜欢小型 低

随机推荐

  • 每当按下光标或箭头键时,如何获取当前光标位置(在文本区域中)?

    我试图单击一下后立即获取文本光标的位置down鼠标重新定位它 问题是selectionStart and selectionEnd不返回光标的最新位置 因为在单击之前不会存储 新 位置released 当您尝试使用鼠标重新定位插入符号时 代
  • 如何使用 Gradle Kotlin 脚本创建 fat JAR?

    如题 我想知道如何修改gradle build kts为了有一个任务来创建一个独特的jar包含所有依赖项 包括 kotlin lib 我在 Groovy 中找到了这个示例 create a single Jar with all depen
  • mingw-4.8.1 原子问题

    当我尝试使用原子的 is lock free 方法时 出现以下编译错误 struct Simple1 int i struct Simple2 int a int b struct Simple3 int a int b int c int
  • Prestashop:../../../classes/Configuration.php 中内存不足(已分配...)

    Prestashop 突然给出了一个http 500 错误 我打开错误日志并得到以下信息 致命错误 内存不足 已分配 709623808 尝试分配 130968 字节 中 var www vhosts 44 252639 webspace
  • ActiveRecord::NoEnvironmentInSchemaError

    我正在尝试在新升级的应用程序 Rails 5 上执行与数据库相关的操作 但无法在本地执行破坏性数据库命令 rails db reset or rails db drop 跟踪结果如下数据 rails db drop trace Invoke
  • ruby-debug 安装错误:无法构建 gem 本机扩展

    我正在使用 Rails 3 运行 1 9 2 我正在使用rvm I did sudo gem install ruby gem and got Building native extensions This could take a whi
  • 如何根据滚动百分比移动 div

    我正在尝试为我的应用程序制作一些动画 但我无法弄清楚 我希望文本和描述根据页面滚动的程度而移动 对于第一个 div 我成功做到了 但对于其他 div 什么也没有发生 当我滚动超过 40 来根据滚动移动 div 时 我该怎么做 这是我的代码
  • Freebase 查询 - 排除某些值

    我想检索所有电影的名称及其类型 如果有关流派的信息为空也没关系 但如果流派已知 我想检索它 film film genre id null optional optional 但我对同性恋色情不感兴趣 所以我想排除所有类型为 en gay
  • startManagingCursor(cursor) 已弃用的方法

    我使用了这段代码 Cursor c cr query message null null null null startManagingCursor c But startManagingCursor c 是一个已弃用的方法 我怎样才能更换
  • C++ 枚举的基础类型是什么?

    这可能已经在其他地方得到了回答 但我找不到合适的答案 我有这个代码 enum enumWizardPage WP NONE 0x00 WP CMDID 0x01 WP LEAGUES 0x02 WP TEAMS 0x04 WP COMP 0
  • Delphi 服务应用程序随机崩溃

    我有一个德尔福服务应用程序 Indy TCP 服务器和许多客户端 最多 50 个 到 Firebird 的 ADO 连接和简单的网络交换 应用程序在下一个事件 例如 中随机崩溃 可能在 7 天后工作 可能是 1 小时 文件 rollcont
  • CSS 重叠箭头

    我正在尝试仅使用 CSS3 来完成与下图非常非常相似的事情 唯一的区别是最后一个 div 有一个尖头 在我寻找类似适应的东西时 我遇到了这个 js 小提琴 http jsfiddle net amkrtchyan eju9r 14 这非常接
  • GuestAdditions 版本不匹配

    当我使用这个命令时 vagrant up 我收到此错误 machine1 GuestAdditions versions on your host 4 3 36 and guest 5 0 10 do not match 如何从 ubunt
  • Kotlin 中线程和协程的区别

    Kotlin 中是否存在与其他语言的协程实现不同的特定语言实现 协程就像轻量级线程是什么意思 有什么不同 Kotlin 协程实际上是并行 并发 运行的吗 即使在多核系统中 在任何给定时间都只有一个协程在运行吗 这里我启动了 100 000
  • 如何通过南迁在现有模型中添加一对一的关系字段

    我已经有模型了 class ModelA models Model name models CharField max length 255 blank False 我里面有很多条目 现在我想在其中添加一个字段 即 user models
  • 修改R包数据

    bio infer 包包含需要修改的数据框 usr lib R library bio infer data itis ttable rda 加载 bio infer 包并附加数据框后 data 函数 我使用 write table 将数据
  • swift 3 准备(for segue: )功能损坏? [复制]

    这个问题在这里已经有答案了 由于某些奇怪的原因 对于 swift 3 prepare for segue 方法拒绝确认 segue 标识符 我将以下 IBAction 连接到 UI 上的几个按钮 IBAction func goToImag
  • 如何在 Spring Boot 中创建单个可执行战争

    我们正在使用 Spring Boot 开发 Spring Cloud 项目 我们的目标是创建一个可以使用 java jar 运行的可执行 war 我关注了 SO 上的几篇文章 并能够通过 1 在 2 在 spring boot maven
  • “零复制网络”与“内核绕过”?

    零拷贝网络 和 内核绕过 有什么区别 这两个短语的意思是相同还是不同 内核绕过是 零复制网络 中使用的技术吗 这就是关系吗 零拷贝网络 和 内核绕过 有什么区别 这两个短语的意思是相同还是不同 内核绕过是 零复制网络 中使用的技术吗 这就是
  • 使用给定键的所有多重映射值填充向量

    Given a multimap