C++ STL 中的 map::at() 和 map::swap()
在本文中,我们将讨论 C++ STL 中 map::at() 和 map::swap() 函数的工作原理、语法和示例。
什么是 C++ STL 中的 Map?
Map 是关联容器,它可以方便地以特定顺序存储由键值对组成的元素。在 map 容器中,数据内部总是通过其关联的键进行排序。map 容器中的值通过其唯一的键进行访问。
什么是 map::at()?
map::at() 函数是 C++ STL 中的内置函数,它在 `
如果键与 map 容器中的任何键都不匹配,则该函数会抛出 out_of_range 异常。
语法
map_name.at(key& k);
参数
该函数接受一个参数,即:
- k − 这是我们要引用的键。
返回值
此函数返回对与我们正在查找的键 k 关联的值的引用。
示例
输入
std::map<int> mymap;
mymap.insert({‘a’, 10});
mymap.insert({‘b, 20});
mymap.insert({‘c, 30});
mymap.at(‘b’);输出
b:20
示例
#include <bits/stdc++.h>
using namespace std;
int main() {
map<int, int> TP_1;
map<int, int> TP_2;
TP_1[1] = 10;
TP_1[2] = 20;
TP_1[3] = 30;
TP_1[4] = 40;
TP_2[5] = 50;
TP_2[6] = 60;
TP_2[7] = 70;
cout<<"Elements at TP_1[1] = "<< TP_1.at(1) << endl;
cout<<"Elements at TP_1[2] = "<< TP_1.at(2) << endl;
cout<<"Elements at TP_1[3] = "<< TP_1.at(3) << endl;
cout<<"\nElements at TP_2[7] = "<< TP_2.at(7) << endl;
cout<<"Elements at TP_2[5] = "<< TP_2.at(5) << endl;
return 0;
}输出
Elements at TP_1[1] = 10 Elements at TP_1[2] = 20 Elements at TP_1[3] = 30 Elements at TP_1[7] = 70 Elements at TP_1[5] = 50
什么是 map::swap()?
map::swap() 函数是 C++ STL 中的内置函数,它在 `
当调用此函数时,它会接收另一个 map 容器作为参数,并将内容与关联的容器交换。
语法
map_name.swap(map& map_name2);
参数
该函数接受一个参数,即:
- map_name2 − 这是另一个 map 容器的对象,我们希望将其数据与关联的 map 容器交换。
返回值
此函数不返回值。
示例
输入
std::map<int> odd, eve;
odd.insert({‘a’, 1});
odd.insert({‘b’, 3});
odd.insert({‘c’, 5});
eve.insert({‘d’, 2});
eve.insert({‘e’, 4});
eve.insert({‘f’, 6});
odd.swap(eve);输出
Odd: d: 2 e:4 f:6 Eve: a:1 b:3 c:5
示例
#include <bits/stdc++.h>
using namespace std;
int main() {
map<int, int> TP_1;
map<int, int> TP_2;
TP_1[1] = 10;
TP_1[2] = 20;
TP_1[3] = 30;
TP_1[4] = 40;
TP_2[5] = 50;
TP_2[6] = 60;
TP_2[7] = 70;
swap(TP_1, TP_2);
cout<<"Elements of TP_1 after swap:\n"<< "\tKEY\tELEMENT\n";
for (auto i = TP_1.begin(); i!= TP_1.end(); i++) {
cout << "\t" << i->first << "\t" << i->second << '\n';
}
cout << "Elements of TP_2 after swap:\n"<< "\tKEY\tELEMENT\n";
for (auto i = TP_2.begin(); i!= TP_2.end(); i++) {
cout << "\t" << i->first << "\t" << i->second << '\n';
}
return 0;
}输出
Elements of TP_1 after swap: KEY ELEMENT 5 50 6 60 7 70 Elements of TP_2 after swap: KEY ELEMENT 1 10 2 20 3 30 4 40
广告
数据结构
网络
关系数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP