C++ multimap::cend() 函式



C++ 的std::multimap::cend()函式用於返回指向multimap中最後一個元素之後元素的常量迭代器。此迭代器用於只讀訪問,確保元素不會被修改。它通常與cbegin()一起使用,以只讀方式從頭到尾迭代multimap。此函式的時間複雜度是常數,即 O(1)。

語法

以下是 std::multimap::cend() 函式的語法。

const_iterator cend() const noexcept;

引數

此函式不接受任何引數。

返回值

此函式返回一個指向multimap中最後一個元素的常量迭代器。

示例

讓我們來看下面的例子,我們將演示 cend() 函式的使用。

#include <iostream>
#include <map>
int main()
{
    std::multimap<int, std::string> x = {{1, "Hi"}, {2, "Hello"}, {2, "Namaste"}, {3, "Vanakam"}};
    for (auto a = x.cbegin(); a != x.cend(); ++a) {
        std::cout << a->first << ": " << a->second << std::endl;
    }
    return 0;
}

輸出

以上程式碼的輸出如下:

1: Hi
2: Hello
2: Namaste
3: Vanakam

示例

考慮另一種情況,我們將使用 cend() 函式執行反向迭代。

#include <iostream>
#include <map>
int main()
{
    std::multimap<int, std::string> a = {{1, "Tutorix"}, {2, "TP"}, {2, "TutorialsPoint"}, {3, "Welcome"}};
    for (auto x = std::make_reverse_iterator(a.cend()); x != std::make_reverse_iterator(a.cbegin()); ++x) {
        std::cout << x->first << ": " << x->second << std::endl;
    }
    return 0;
}

輸出

以上程式碼的輸出如下:

3: Welcome
2: TutorialsPoint
2: TP
1: Tutorix

示例

在下面的示例中,我們將查詢具有特定鍵的所有元素,並使用 cend() 函式迭代該範圍。

#include <iostream>
#include <map>
int main()
{
    std::multimap<int, std::string> x = {{1, "Audi"}, {2, "Cruze"}, {2, "Sail"}, {3, "BMW"}};
    auto a = x.equal_range(2);
    for (auto b = a.first; b != a.second && b != x.cend(); ++b) {
        std::cout << b->first << ": " << b->second << std::endl;
    }
    return 0;
}

輸出

如果我們執行以上程式碼,它將生成以下輸出:

2: Cruze
2: Sail
multimap.htm
廣告