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

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

multimap::cbegin() 是一个C++ STL中的内置函数,它返回一个指向multimap容器中第一个元素的常量迭代器。由于multimap容器中的元素是按一定顺序排列的,cbegin()将指向按照容器排序标准排名第一个的元素。

语法:

multimap_name.cbegin()

参数: 该函数不接受任何参数。

返回值: 该函数返回一个指向multimap容器中第一个元素的常量迭代器。

// C++程序演示
//multimap::cbegin()函数
#include 
using namespace std;

int main()
{
    // 初始化容器
    multimap mp;

    // 以随机顺序插入元素
    mp.insert({ 2, 30 });
    mp.insert({ 1, 40 });
    mp.insert({ 3, 60 });
    mp.insert({ 4, 20 });
    mp.insert({ 5, 50 });

    auto ite = mp.cbegin();

    cout << "第一个元素是:";
    cout << "{" << ite->first << ", "
             << ite->second << "}\n";

    //输出元素
    cout << "\nmultimap是:\n";
    cout << "键    元素\n";
    for (auto itr = mp.cbegin(); itr != mp.cend(); ++itr) {
        cout << itr->first
             << '\t' << itr->second << '\n';
    }
    return 0;
}  

输出结果:

第一个元素是: {1, 40}

multimap是:
键    元素
1    40
2    30
3    60
4    20
5    50

multimap::cend() 是C++ STL中的一个内置函数,它返回一个指向multimap中最后一个元素后面理论上存在的元素的常量迭代器。由于multimap容器中的元素是按一定顺序排列的,cend()将指向按照容器排序标准排名最后一个元素的后续元素。

语法:

multimap_name.cend()

参数: 该函数不接受任何参数。

返回值: 该函数返回一个指向multimap中最后一个元素后面理论上存在的元素的常量迭代器。

// C++程序演示
// multimap::cend()函数
#include 
using namespace std;

int main()
{
    // 初始化容器
    multimap mp;

    // 以随机顺序插入元素
    mp.insert({ 2, 30 });
    mp.insert({ 1, 40 });
    mp.insert({ 3, 60 });
    mp.insert({ 4, 20 });
    mp.insert({ 5, 50 });

    // 输出元素
    cout << "\nmultimap是:\n";
    cout << "键    元素\n";
    for (auto itr = mp.cbegin(); itr != mp.cend(); ++itr) {
        cout << itr->first
             << '\t' << itr->second << '\n';
    }
    return 0;
}  

输出结果:

multimap是:
键    元素
1    40
2    30
3    60
4    20
5    50

现在我们看一下它们之间的差异:

ID multimap::cbegin() multimap::cend()
1. 它用于返回指向容器中第一个元素的const_iterator。 它用于返回指向容器过结尾元素的const_iterator。
2. 它的语法为 -: const_iterator cbegin(); 它的语法为 -: const_iterator cend();
3. 它不需要任何参数。 它不需要任何参数。
4. 它的复杂度为常数时间。 它的复杂度为常数时间。
5. 它的迭代器有效性不变。 它的迭代器有效性不变。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

C++ 教程