C++ STL中的unordered_multimap cbegin()函数

C++ STL中的unordered_multimap cbegin()函数

简介

C++ STL中的unordered_multimap是一种关联性容器,键值和值可以是任意类型。它支持常数时间的平均插入和查找操作,通过hash表实现。unordered_multimap可以存储具有相同关键字的多个值。

unordered_multimap的成员函数cbegin()返回一个指向unordered_multimap中第一个元素的迭代器,它是一个常量类型的迭代器,不允许被修改。

cbegin()函数声明如下:

const_iterator cbegin() const noexcept;

其中,const_iterator是一个常量类型的迭代器。

示例

以下代码展示了unordered_multimap cbegin()函数的使用方法:

#include <iostream>
#include <unordered_map>
#include <string>

int main()
{
    std::unordered_multimap<std::string, int> umap = {{"apple", 1}, {"banana", 2}, {"apple", 3}, {"orange", 4}};

    std::cout << "Values associated with key 'apple':";
    for(auto itr = umap.cbegin(); itr != umap.cend(); ++itr)
    {
        if(itr->first == "apple")
        {
            std::cout << " " << itr->second;
        }
    }
    std::cout << "\n";
    return 0;
}

输出结果为:

Values associated with key 'apple': 1 3

在上面的代码中,我们声明了一个unordered_multimap umap,其中包含4对键值对,其中”apple”对应有两个值1和3。

我们使用cbegin()函数获取unordered_multimap中第一个元素的迭代器,并遍历整个unordered_multimap,如果当前迭代器所指向的元素的键值为”apple”,则输出它所关联的值。

需要注意的是,由于cbegin()函数返回的是一个常量类型的迭代器,因此我们不能用它来修改unordered_multimap中的元素值。

结论

unordered_multimap cbegin()函数返回const类型的迭代器,用于访问unordered_multimap中的第一个元素。我们可以使用这个函数来遍历并访问unordered_multimap中的键值对。

需要特别注意的是,cbegin()返回的是const_iterator类型,不允许被修改,因此我们不能使用cbegin()返回的迭代器来修改unordered_multimap中的元素。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程

C++ 教程