English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
map operator=() 함수 사용 방법 및 예제
)새 내용을 map 컨테이너에 할당하고 필요에 따라 크기를 변경합니다。map은 다음 세 가지 경우에 operator =()를 사용합니다:이전 내용을 대체하여내용을 복사합니다
)새 내용을 map 컨테이너에 할당하고 필요에 따라 크기를 변경합니다。Operator =()사용하여map 컨테이너의 내용로 이동하고 필요에 따라 크기를 변경합니다。
Operator =요소를 다른초기화 목록map 컨테이너에 복사합니다。
copy(1) map& operator= (const map& x); // C에서++ 11 전에 copy(1) map& operator= (const map& x); //C에서++ 11 시작 move(2) map& operator= (map&& x); //C에서++ 11 시작 initializer list(3) map& operator= (initializer_list<value_type> il); //C에서++ 11 시작
copy(1):- x의 모든 요소를 map 컨테이너에 복사합니다。
move(2):- x의 내용을 map 컨테이너에 이동합니다。
initializer_list(3):- il의 요소를 map 컨테이너에 복사합니다。
x:같은 유형의 map 객체를 가지고 있습니다。
il:초기화 목록 객체.
이 포인터.
다음은 map의 내용을 다른 map에 복사하는 간단한 예제를 보겠습니다.
#include <iostream> #include <map> using namespace std; int main(void) { map<char, int> m1 = { {'a', 10}, {'b', 20}, {'c', 30} }; cout << "Map m1다음 요소가 포함됩니다" << endl; for (auto it = m1.begin(); it != m1.end(); ++it) cout << it->first << " = " << it->second << endl; map<char, int> m2 = m1; cout<<"\nm에서 요소를 이동1m로 복사2이후... \n"; cout << "\nMap m2다음 요소가 포함됩니다" << endl; for (auto it = m2.begin(); it != m2.end(); ++it) cout << it->first << " = " << it->second << endl; return 0; }
출력:
Map m1다음 요소가 포함됩니다 a = 10 b = 20 c = 30 m에서 요소를 이동1m로 복사2이후... Map m2다음 요소가 포함됩니다 a = 10 b = 20 c = 30
위의 예제에서 operator =() 함수를 사용하여 map m1의 내용을 다른 Map m로 복사2。
다음은 map의 요소를 다른 map에 이동하는 간단한 예제를 보겠습니다.
#include <iostream> #include <map> using namespace std; int main(void) { map<char, int> m1 = { {'a', 1}, {'b', 2}, {'c', 3} cout << "Map m1다음 요소가 포함됩니다" << endl; for (auto it = m1.begin(); it != m1.end(); ++it) cout << it->first << " = " << it->second << endl; map<char, int> m2 = move(m1); cout<<"\nm에서 요소를 이동1m로 이동2이후... \n"; cout << "\nMap m2다음 요소가 포함됩니다" << endl; for (auto it = m2.begin(); it != m2.end(); ++it) cout << it->first << " = " << it->second << endl; return 0; }
출력:
Map m1다음 요소가 포함됩니다 a = 1 b = 2 c = 3 m에서 요소를 이동1m로 이동2이후... Map m2다음 요소가 포함됩니다 a = 1 b = 2 c = 3
위의 예제에서 operator =() 함수를 사용하여 map m1의 내용을 다른 map m로 이동2。
초기화 목록의 내용을 map에 복사하는 간단한 예제를 보겠습니다.
#include <iostream> #include <map> using namespace std; int main(void) { map<char, int> m; m = { {'a', 100}, {'b', 200}, {'c', 300}, {'d', 400} }; cout << "Map에는 다음 요소가 포함됩니다" << endl; for (auto it = m.begin(); it != m.end(); ++it) cout << it->first << " = " << it->second << endl; return 0; }
출력:
Map에는 다음 요소가 포함됩니다 a = 100 b = 200 c = 300 d = 400
위의 예제에서 operator =()는 Map m에 초기화 목록의 내용을 복사하는 데 사용됩니다.
다음은 간단한 예제를 보겠습니다.
#include <iostream> #include <map> using namespace std; int main () { map<char,int> first; map<char,int> second; first['x']=8; first['y']=16; first['z']=32; second=first; // second 현재 정수를 포함하고 있습니다; first=map<char,int>(); // first는 지금 비어 있습니다. cout << "첫 번째 크기: " << first.size() << '\n'; cout << "두 번째 크기: " << second.size() << '\n'; return 0; }
출력:
첫 번째 크기: 0 두 번째 크기: 3
위의 예제에서 먼저 빈 Map fisrt의 크기를 계산한 후, 몇 가지 요소를 첫 번째 Map에 추가하고 두 번째 Map에 복사합니다.