이 기사에서는 C++ STL에서 map::at() 및 map::swap() 함수의 작동, 구문 및 예제에 대해 논의할 것입니다.
C++ STL의 지도란 무엇입니까?
맵은 키 값과 매핑된 값의 조합으로 형성된 요소를 특정 순서로 저장하는 데 도움이 되는 연관 컨테이너입니다. 지도 컨테이너에서 데이터는 항상 관련 키를 사용하여 내부적으로 정렬됩니다. 지도 컨테이너의 값은 고유 키로 액세스됩니다.
지도::at()란 무엇입니까?
map::at() 함수는
키가 맵 컨테이너의 키와 일치하지 않는 경우 함수는 out_of_range 예외를 throw합니다.
구문
map_name.at(key&k);
매개변수
이 함수는 하나의 매개변수(예:
)를 허용합니다.- ㅋ − 이것이 우리가 참조하려는 키입니다.
반환 값
이 함수는 우리가 찾고 있는 키 k와 관련된 값에 대한 참조를 반환합니다.
예시
입력
std::mapmymap;mymap.insert({'a', 10});mymap.insert({'b, 20});mymap.insert({'c, 30});mymap .at('b');
출력
b:20
예시
#include네임스페이스 std;int main() { map TP_1; 맵 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<<"TP_1[1]의 요소 ="< 출력
TP_1[1]의 요소 =10TP_1[2]의 요소 =20TP_1[3]의 요소 =30TP_1[7]의 요소 =70TP_1[5]의 요소 =50지도::swap()이란 무엇입니까?
map::swap() 함수는
이 함수가 호출되면 다른 맵 컨테이너인 매개변수를 사용하여 관련 컨테이너와 내용을 교환합니다.
구문
map_name.swap(map&map_name2);매개변수
이 함수는 하나의 매개변수(예:
)를 허용합니다.
- map_name2 − 연결된 지도 컨테이너와 데이터를 교환하려는 다른 지도 컨테이너의 개체입니다.
반환 값
이 함수는 아무 것도 반환하지 않습니다.
예시
입력
std::map홀수, 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);사전> 출력
홀수:d:2 e:4 f:6Eve:a:1 b:3 c:5예시
#include네임스페이스 std;int main() { map TP_1; 맵 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; 스왑(TP_1, TP_2); cout<<"교환 후 TP_1의 요소:\n"<<"\tKEY\tELEMENT\n"; for (자동 i =TP_1.begin(); i!=TP_1.end(); i++) { cout <<"\t" < 첫 번째 <<"\t" < 두 번째 <<'\N'; } cout <<"교환 후 TP_2의 요소:\n"<<"\tKEY\tELEMENT\n"; for (자동 i =TP_2.begin(); i!=TP_2.end(); i++) { cout <<"\t" < 첫 번째 <<"\t" < 두 번째 <<'\N'; } 반환 0;} 출력
스왑 후 TP_1의 요소:KEY ELEMENT5 506 607 70스왑 후 TP_2의 요소:KEY ELEMENT1 102 203 304 40