📜  C++ STL-multimap.clear()函数(1)

📅  最后修改于: 2023-12-03 14:39:51.280000             🧑  作者: Mango

C++ STL - multimap.clear()函数
简介

在C++中,multimap是标准库中的一个容器,它允许以键值对的形式存储和访问元素。multimap 中允许键的重复,它将键值对按照键的排序顺序保存。clear()multimap类中的一个成员函数,用于删除multimap中的所有元素。

语法

以下是multimap.clear()函数的语法:

void clear();
参数

clear()函数没有任何参数。

返回值

clear()函数没有任何返回值。

示例

下面是一个使用clear()函数的示例代码片段:

#include <iostream>
#include <map>

int main() {
    std::multimap<int, char> m;

    m.insert(std::pair<int, char>(1, 'A'));
    m.insert(std::pair<int, char>(2, 'B'));
    m.insert(std::pair<int, char>(3, 'C'));

    std::cout << "Multimap contains " << m.size() << " elements." << std::endl;

    m.clear();

    std::cout << "After clear, multimap contains " << m.size() << " elements." << std::endl;

    return 0;
}

输出结果:

Multimap contains 3 elements.
After clear, multimap contains 0 elements.
解释

在上述示例中,我们创建了一个multimap对象 m,并加入了三对键值对。然后我们使用 clear() 函数清空了 multimap 中的所有元素。最后,我们打印出 multimap 的大小,验证了clear()函数的效果。

使用注意事项

以下是一些使用 multimap.clear() 函数时需要注意的事项:

  • clear()函数删除了multimap中存储的所有键值对,将multimap的大小置为0。
  • clear()函数并不释放 multimap 占用的内存空间,而只是清除所有元素。
  • 在删除 multimap 中的元素后,迭代器将失效,因此 需要谨慎处理迭代器,避免使用已失效的迭代器。
  • 如果需要释放 multimap 占用的内存空间,可以使用 multimap() 赋值给原 multimap 对象,或者销毁 multimap 对象。