在C++的STL中使用multimap::cbegin()和multimap::cend()

在C++的STL中使用multimap::cbegin()和multimap::cend()

C++的STL中,multimap是一个关联容器,可以存储键值对,支持快速查找和插入操作,且可以存储多个相同的键值。在本文中,我们将介绍multimap中的cbegin()和cend()方法的用法。

multimap::cbegin()方法

multimap::cbegin()方法返回指向multimap容器中第一个元素的const_iterator类型迭代器。该迭代器不能用于修改元素值,只能用于读取元素值,因为const_iterator指向的元素是const类型的。

下面是一个示例代码,它展示了如何使用multimap::cbegin()方法来读取multimap中的元素值:

#include <iostream>
#include <map>

int main() {
    std::multimap<int, std::string> mymap = {
        {1, "apple"},
        {2, "banana"},
        {3, "orange"},
        {3, "grape"},
        {4, "watermelon"}
    };

    //输出multimap中的所有键值对
    auto it = mymap.cbegin();
    while (it != mymap.cend()) {
        std::cout << it->first << " " << it->second << std::endl;
        ++it;
    }

    return 0;
}

在上面的示例代码中,我们首先定义了一个multimap对象,并在其中插入了几个键值对。然后,我们使用multimap::cbegin()方法获取该multimap对象的const_iterator迭代器,并通过迭代器遍历输出了所有键值对。

multimap::cend()方法

multimap::cend()方法返回指向multimap容器中超出范围的const_iterator类型迭代器。该迭代器不能用于修改元素值,只能用于读取元素值,因为const_iterator指向的元素是const类型的。

下面是一个示例代码,它展示了如何使用multimap::cend()方法来遍历multimap中的所有元素值:

#include <iostream>
#include <map>

int main() {
    std::multimap<int, std::string> mymap = {
        {1, "apple"},
        {2, "banana"},
        {3, "orange"},
        {3, "grape"},
        {4, "watermelon"}
    };

    //输出multimap中的所有键值对
    for (auto it = mymap.cbegin(); it != mymap.cend(); ++it) {
        std::cout << it->first << " " << it->second << std::endl;
    }

    return 0;
}

在上面的示例代码中,我们同样定义了一个multimap对象,并在其中插入了几个键值对。然后,我们使用multimap::cend()方法获取该multimap对象的const_iterator迭代器,并通过for循环遍历输出了所有键值对。

结论

multimap::cbegin()和multimap::cend()方法是读取multimap容器中元素值的常用方法,它们都返回const_iterator类型的迭代器,能够保证元素值的不可修改性。因此,在使用multimap容器时,我们应该熟练掌握这两种方法的用法,以便更加高效地读取multimap容器中的元素值。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程