📜  在C++ STL中映射cbegin()和cend()函数

📅  最后修改于: 2021-05-30 02:08:46             🧑  作者: Mango

  1. map :: cbegin()是C++ STL中的内置函数,它返回一个常量迭代器,该常量迭代器引用了映射容器中的第一个元素。由于地图容器以有序的方式包含元素,因此cbegin()将指向根据容器的排序标准排在最前面的元素。

    句法:

    map_name.cbegin()
    

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

    返回值:该函数返回一个常量迭代器,该迭代器引用映射容器中的第一个元素。

    // C++ program to illustrate
    // the map::cbegin() function
    #include 
    using namespace std;
      
    int main()
    {
      
        // initialize container
        map mp;
      
        // insert elements in random order
        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 << "The first element is: ";
        cout << "{" << ite->first << ", "
             << ite->second << "}\n";
      
        // prints the elements
        cout << "\nThe map is : \n";
        cout << "KEY\tELEMENT\n";
        for (auto itr = mp.cbegin(); itr != mp.cend(); ++itr) {
            cout << itr->first
                 << '\t' << itr->second << '\n';
        }
        return 0;
    }
    
    输出:
    The first element is: {1, 40}
    
    The map is : 
    KEY    ELEMENT
    1    40
    2    30
    3    60
    4    20
    5    50
    
  2. map :: cend()是C++ STL中的内置函数,该函数返回一个常量迭代器,该迭代器指向在multimap中最后一个元素之后的理论元素。由于地图容器按有序方式包含元素,因此cend()将根据容器的排序标准指向最后一个元素之后的元素。

    句法:

    map_name.cend()
    

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

    返回值:该函数返回一个常量迭代器,该迭代器指向映射中最后一个元素之后的理论元素。

    // C++ program to illustrate
    // the map::cend() function
    #include 
    using namespace std;
      
    int main()
    {
      
        // initialize container
        map mp;
      
        // insert elements in random order
        mp.insert({ 2, 30 });
        mp.insert({ 1, 40 });
        mp.insert({ 3, 60 });
        mp.insert({ 4, 20 });
        mp.insert({ 5, 50 });
      
        // print the elements
        cout << "\nThe map is : \n";
        cout << "KEY\tELEMENT\n";
        for (auto itr = mp.cbegin(); itr != mp.cend(); ++itr) {
            cout << itr->first
                 << '\t' << itr->second << '\n';
        }
        return 0;
    }
    
    输出:
    The map is : 
    KEY    ELEMENT
    1    40
    2    30
    3    60
    4    20
    5    50
    
要从最佳影片策划和实践问题去学习,检查了C++基础课程为基础,以先进的C++和C++ STL课程基础加上STL。要完成从学习语言到DS Algo等的更多准备工作,请参阅“完整面试准备课程”