首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

C++ std :: transform of pairs-> first to new vector

C++中的std::transform函数可以用于将一个容器中的元素转换为另一个容器中的元素。在这个问题中,我们需要将一个包含键值对的容器中的键提取出来,并将其存储到一个新的向量中。

首先,让我们来了解一下std::transform函数的基本用法和参数:

代码语言:cpp
复制
template<class InputIt, class OutputIt, class UnaryOperation>
OutputIt transform(InputIt first1, InputIt last1, OutputIt d_first, UnaryOperation unary_op);
  • first1last1是输入容器的迭代器范围,表示要进行转换的元素范围。
  • d_first是输出容器的迭代器,表示存储转换结果的目标位置。
  • unary_op是一个一元函数对象,用于对输入容器中的每个元素进行转换操作。

对于我们的问题,我们需要将键值对中的键提取出来,因此我们可以使用一个lambda表达式作为unary_op参数,以提取键并将其存储到新的向量中。

以下是一个示例代码:

代码语言:cpp
复制
#include <iostream>
#include <vector>
#include <algorithm>

int main() {
    std::vector<std::pair<int, std::string>> pairs = {{1, "one"}, {2, "two"}, {3, "three"}};
    std::vector<int> keys;

    std::transform(pairs.begin(), pairs.end(), std::back_inserter(keys),
                   [](const std::pair<int, std::string>& pair) {
                       return pair.first;
                   });

    // 打印提取出的键
    for (const auto& key : keys) {
        std::cout << key << " ";
    }
    std::cout << std::endl;

    return 0;
}

输出结果为:

代码语言:txt
复制
1 2 3

在这个示例中,我们使用了一个包含键值对的向量pairs,并定义了一个新的向量keys来存储提取出的键。通过std::transform函数和lambda表达式,我们将每个键值对中的键提取出来,并将其存储到keys向量中。

对于腾讯云相关产品和产品介绍链接地址,由于题目要求不能提及具体的云计算品牌商,因此无法提供相关链接。但是,腾讯云提供了丰富的云计算服务,包括云服务器、云数据库、云存储等,可以根据具体需求选择适合的产品。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • C++】STL 算法 ⑤ ( 二元函数对象 | std::transform 算法简介 | 为 std::transform 算法传入一元函数对象进行转换操作 )

    文章目录 一、二元函数对象 1、二元函数对象简介 2、std::transform 算法简介 3、代码示例 - 为 std::transform 算法传入一元函数对象进行转换操作 一、二元函数对象 1、...::transform 算法简介 std::transform 是 STL 标准模板库 中的一个算法 , 该算法的作用是 用于对 容器 或 指定迭代器范围 的元素进行 " 转换操作 " , 并将 " 转换结果...; std::transform 函数原型如下 : template _OutIt transform...(const _InIt1 _First1, const _InIt1 _Last1, const _InIt2 _First2, _OutIt _Dest, _Fn _Func) { // transform...::transform 算法传入一元函数对象进行转换操作 下面的代码示例中 , 演示了 将 2 个 vector 容器中的元素相加 , 放入到第 3 个容器 中 ; transform 算法函数 , 接收

    19610

    C++】STL 容器 - string 字符串操作 ⑧ ( string 字符串相关算法 | 字符串转换 - std::transform 函数 | 字符串翻转- std::reverse 函数 )

    文章目录 一、string 字符串转换 - std::transform 函数 1、std::transform 函数原型说明 2、代码示例 - string 类 transform 函数转换 二、string...字符串翻转 - std::reverse 函数 1、std::reverse 函数原型说明 2、代码示例 - std::reverse 函数 一、string 字符串转换 - std::transform...函数 1、std::transform 函数原型说明 C++std::transform 函数是 头文件中的一个通用算法 , 用于对指定范围内的元素进行转换 ; std...; template OutputIt transform( InputIt first..., class OutputIt, class BinaryOperation > OutputIt transform( InputIt1 first1, InputIt1 last1, InputIt2

    72910
    领券