HelloMinchan
처음처럼
HelloMinchan
LinkedIn
전체 방문자
오늘
어제
  • 분류 전체보기 (306)
    • Backend (4)
      • NestJS (1)
      • Express (1)
      • Spring (2)
    • Infrastructure (1)
      • AWS (1)
    • Frontend (1)
      • Next.js (1)
    • Language & Runtime (4)
      • Java (2)
      • Node.js (2)
    • Computer Science (8)
      • Computer Networks (3)
      • Operating Systems (4)
      • OOP (1)
    • 독서 (4)
      • 데이터 중심 애플리케이션 설계 (3)
      • 객체지향의 사실과 오해 (1)
    • 회고 (4)
      • Project (2)
      • Career (2)
    • Deprecated (280)

채널

  • GitHub
  • LinkedIn

최근 글

태그

  • 백준
  • 프로그래밍
  • Algospot
  • Baekjoon Online Judge
  • 백준Python
  • 코딩
  • 알고스팟
  • 백엔드
  • programmers
  • 프로그래머스C++
  • 백준Go
  • 개발자
  • front-end
  • 백준C++
  • back-end
  • 데이터베이스
  • Database
  • 알고스팟Python
  • 프로그래머스Python
  • 프로그래머스

최근 댓글

인기 글

hELLO
HelloMinchan

처음처럼

[C++] pair 사용법
Deprecated

[C++] pair 사용법

2020. 4. 15. 21:17

© Copyright 2020 Standard C++ Foundation. All rights reserved.

[C++] pair 사용법

(글쓴날 : 2020.04.15)

 


* 이 글은 글쓴이가 공부한 내용을 정리하며 올리는 글입니다.


 

 

C++ pair 사용법


1) pair란?

pair란 STL에서 쌍으로 표현되는 자료형을 위해 제공되는 컨테이너이며, <utility> 헤더에 존재합니다.

(컴파일러, 버전 등 사용자의 환경에 따라 <utility> 헤더를 포함하지 않아도 사용이 가능한 경우가 있으나, 명시적으로 include 하는 것이 안전합니다.)

 

주로 좌표평면의 (x, y) 좌표를 저장하거나, 이차원 배열의 인덱스 등 두 개의 값을 동시에 엮어서 저장해야 할 때 사용되며, 특히 PS에서 자주 쓰이는 기본적인 STL 중 하나입니다.


2) pair 사용법

(1) <utility> 헤더 include 및 표준 네임스페이스 사용 선언

1
2
#include <utility>
using namespace std;

(2) pair 생성

기본 생성 방법은

pair<(type 1), (type 2)> (이름);

입니다.

ex)

1
pair<int, int> p1;

(3) pair 초기화 및 할당

pair의 초기화 및 할당 방법에는 두 가지 방식이 있습니다.

 

첫 번째 방식은 make_pair() 함수를 이용한 방법이며, 인자로 변수 혹은 값을 넘겨주면 됩니다.

(단, 생성 시 정의한 타입과 일치해야 합니다.)

ex)

1
2
pair<int, int> p2 = make_pair(1, 1);
p2 = make_pair(10, 10);

 

두 번째 방식은 {}를 이용한 방법이며, { (데이터 1), (데이터 2) }를 할당해 주시면 됩니다.

(마찬가지로, 생성 시 정의한 타입과 일치해야 합니다.)

ex)

1
2
pair<int, int> p3 = { 2, 2 };
p3 = { 20,20 };

(4) pair 값 참조

pair에 저장된 데이터를 불러오려면 순서대로 .first와 .second를 사용합니다.

(마치, 구조체의 멤버를 참조하는 방식과 같습니다.)

ex)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
pair<int, int> p1;
 
pair<int, int> p2 = make_pair(2, 2);
p2 = make_pair(20, 20);
 
pair<int, int> p3 = { 3, 3 };
p3 = { 30,30 };
 
p2.first = 10;
p3.second = 40;
 
cout << p1.first << ", " << p1.second << endl;    // cout결과 : 0, 0
cout << p2.first << ", " << p2.second << endl;    // cout결과 : 10, 20
cout << p3.first << ", " << p3.second << endl;    // cout결과 : 30, 40

 

 


 

 

여기까지, C++의 pair 사용법에 대하여 알아봤습니다.

감사합니다!

저작자표시 비영리 변경금지 (새창열림)

'Deprecated' 카테고리의 다른 글

[Baekjoon Online Judge] 백준 2293번 동전 1(C++, Python)  (0) 2020.04.16
[JavaScript] Arrow function 사용법 및 특징  (0) 2020.04.16
[Baekjoon Online Judge] 백준 1912번 연속합(C++, Python)  (0) 2020.04.15
[Baekjoon Online Judge] 백준 11727번 2×n 타일링 2(C++, Python)  (0) 2020.04.14
[Baekjoon Online Judge] 백준 11726번 2×n 타일링(C++, Python)  (0) 2020.04.14
    'Deprecated' 카테고리의 다른 글
    • [Baekjoon Online Judge] 백준 2293번 동전 1(C++, Python)
    • [JavaScript] Arrow function 사용법 및 특징
    • [Baekjoon Online Judge] 백준 1912번 연속합(C++, Python)
    • [Baekjoon Online Judge] 백준 11727번 2×n 타일링 2(C++, Python)
    HelloMinchan
    HelloMinchan
    Though you should not fear failure, You should do your very best to avoid it.

    티스토리툴바