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

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

C++ STL-multimap.swap()函数介绍

在使用C++ STL的multimap容器时,可能会遇到需要将两个multimap交换的情况。此时,可以使用multimapswap()函数。

函数介绍

multimapswap()函数用于交换两个multimap的元素。

语法
void swap(multimap &x, multimap &y);

其中,xy为要交换的两个multimap

返回值

无返回值。

其他注意事项

在交换时,会交换两个multimap所占用的内存空间,因此该操作可能会影响程序效率。同时,该操作并不会改变两个multimap的大小,只是将它们的元素交换。

实例演示

下面是一个简单的演示代码:

#include <iostream>
#include <map>

using namespace std;

int main() {
    multimap<int, string> first = {{1, "apple"}, {2, "banana"}};
    multimap<int, string> second = {{3, "cherry"}, {4, "durian"}};

    cout << "Before swap:" << endl;
    cout << "First multimap:" << endl;
    for (auto x : first) {
        cout << x.first << " : " << x.second << endl;
    }

    cout << "Second multimap:" << endl;
    for (auto x : second) {
        cout << x.first << " : " << x.second << endl;
    }

    first.swap(second);

    cout << "After swap:" << endl;
    cout << "First multimap:" << endl;
    for (auto x : first) {
        cout << x.first << " : " << x.second << endl;
    }

    cout << "Second multimap:" << endl;
    for (auto x : second) {
        cout << x.first << " : " << x.second << endl;
    }

    return 0;
}

输出如下:

Before swap:
First multimap:
1 : apple
2 : banana
Second multimap:
3 : cherry
4 : durian
After swap:
First multimap:
3 : cherry
4 : durian
Second multimap:
1 : apple
2 : banana

可以看到,在使用swap()函数后,firstsecond的元素互相交换了。