English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

C++ 참조 매뉴얼

C++ STL map(컨테이너)

map operator=() 함수 사용 방법 및 예제

  1. )새 내용을 map 컨테이너에 할당하고 필요에 따라 크기를 변경합니다。map은 다음 세 가지 경우에 operator =()를 사용합니다:이전 내용을 대체하여내용을 복사합니다

  2. )새 내용을 map 컨테이너에 할당하고 필요에 따라 크기를 변경합니다。Operator =()사용하여map 컨테이너의 내용로 이동하고 필요에 따라 크기를 변경합니다。

  3. 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:초기화 목록 객체.

반환 값

이 포인터.

예제1

다음은 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。

예제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。

예제3

초기화 목록의 내용을 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에 초기화 목록의 내용을 복사하는 데 사용됩니다.

예제4

다음은 간단한 예제를 보겠습니다.

#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에 복사합니다.

C++ STL map(컨테이너)