📜  C++ STL-Multiset.begin()函数(1)

📅  最后修改于: 2023-12-03 15:13:55.899000             🧑  作者: Mango

C++ STL-Multiset.begin()函数

Multiset是C++ STL中的一个有序容器,类似于Set,但允许有重复元素。Multiset有许多方便的成员函数,其中之一就是begin()函数。

函数概述

Multiset.begin()函数返回Multiset容器的起始迭代器,它指向容器中的第一个元素。

函数原型
iterator begin() noexcept;
const_iterator begin() const noexcept;
const_iterator cbegin() const noexcept;
  • iterator begin() noexcept: 返回一个指向容器中第一个元素的正向迭代器。如果容器为空,则返回尾后迭代器。

  • const_iterator begin() const noexcept: 返回一个指向容器中第一个元素的常量正向迭代器。如果容器为空,则返回尾后迭代器。

  • const_iterator cbegin() const noexcept: 返回一个指向容器中第一个元素的常量正向迭代器。如果容器为空,则返回尾后迭代器。

示例
#include <iostream>
#include <set>

int main()
{
    std::multiset<int> myset = {3, 1, 4, 1, 5, 9, 2, 6, 5, 3};

    // 打印multiset中的元素
    std::cout << "Multiset中的元素:";
    for (auto it = myset.begin(); it != myset.end(); ++it)
        std::cout << *it << " ";
    std::cout << std::endl;

    // 使用begin()函数打印multiset中的第一个元素
    std::cout << "Multiset中的第一个元素为:" << *(myset.begin()) << std::endl;

    return 0;
}

输出结果为:

Multiset中的元素:1 1 2 3 3 4 5 5 6 9 
Multiset中的第一个元素为:1
注意事项
  • 当Multiset容器为空时,begin()函数返回尾后迭代器。
  • 调用begin()函数不会修改Multiset容器中的数据,因此begin()返回的迭代器可以被用于遍历Multiset容器,而且不会影响到容器中的元素。
  • begin()函数返回的迭代器是一个正向迭代器,可以用于修改Multiset容器中的数据。