본문 바로가기

알고리즘&자료구조/c++ stl 정리

c++ pair

-pair란?

template <class T1, class T2> struct pair로  2개의 data_type을 묶은 1개의 구조체 개체이다.

2개의 data_type을 다룰 때 유용하게 사용하는 자료구조이다.

 

-멤버 변수

위에서 설명했듯이 pair는 2개의 data_type을 묶은 구조체이다.

그럼으로 first,second라는 이름의 멤버 변수를 갖는다.

 

-생성자

1) default 생성자

   pair<data_type1,data_type2> 변수명

   first와second는 모두 0으로 초기화 된다.

 

2) 값 직접 넣어주는 생성자

   pair<data_type1,data_type2> 변수명 (data1,data2)

   data자리에는 data_type에 맞는 value를 넣어주면 된다.

 

3) 다른pair개체 복사하는 생성자

   pair<data_type1,data_type2> 변수명 ( 복사pair명)

        ex.  pair<int,int> b(1,1);

              pair<int,int> a(b) ;

 

- make_pair 함수

    template <class T1,class T2> pair<T1,T2> make_pair (T1 x, T2 y) {

              return pair<T1,T2>(x,y) ;

    }

    와 같이 구현된 함수로 원하는 값으로 초기화된  pair를 리턴해준다.

 

- =연산자  

  pair에 값을 저장하는 연산자이다.

          ex.  pair<int, int> a;
                a = { 1,2 };  혹은  a=make_pair(3,4);   

 

 

 

'알고리즘&자료구조 > c++ stl 정리' 카테고리의 다른 글

c++ list (stl)  (2) 2021.09.10
c++ vector  (0) 2021.09.10
c++ set & multiset  (0) 2021.09.09
c++ stl multimap  (0) 2021.09.07
c++ stl map  (0) 2021.07.28