C++ multimap::clear() 函式



C++ 的std::multimap::clear()函式用於移除 multimap 中的所有元素,使其大小變為 0。此函式確保 multimap 的大小變為零,但不會釋放 multimap 分配的記憶體。它對於在不銷燬容器的情況下重置容器以供重複使用非常有效。此函式的時間複雜度為線性,即 O(n)。

語法

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

void clear();

引數

此函式不接受任何引數。

返回值

此函式不返回任何內容。

示例

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

#include <iostream>
#include <map>
int main()
{
    std::multimap<int, std::string> x;
    x.insert({1, "Hi"});
    x.insert({2, "Hello"});
    std::cout << "Size before clear: " << x.size() << std::endl;
    x.clear();
    std::cout << "Size after clear: " << x.size() << std::endl;
    return 0;
}

輸出

以上程式碼的輸出如下:

Size before clear: 2
Size after clear: 0

示例

考慮以下示例,我們將呼叫 clear() 函式後重新使用 multimap。

#include <iostream>
#include <map>
int main()
{
    std::multimap<int, std::string> a;
    a.insert({1, "Audi"});
    a.clear();
    a.insert({2, "Cruze"});
    for (const auto& pair : a) {
        std::cout << pair.first << ": " << pair.second << std::endl;
    }
    return 0;
}

輸出

以下是以上程式碼的輸出:

2: Cruze

示例

在下面的示例中,我們將檢查 clear() 函式之前和之後 multimap 是否為空。

#include <iostream>
#include <map>
int main()
{
    std::multimap<int, std::string> a;
    a.insert({1, "TP"});
    a.insert({2, "TutorialsPoint"});
    std::cout << "Empty before clear : " << std::boolalpha << a.empty() << std::endl;
    a.clear();
    std::cout << "Empty after clear : " << std::boolalpha << a.empty() << std::endl;
    return 0;
}

輸出

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

Empty before clear : false
Empty after clear : true
multimap.htm
廣告