Table of contents

    vector

    c++ 관련 문서들에는 꼭 vector가 언급된다. 그만큼 c++에서 매우 중요한 역할을 하고 있다고 생각한다. 동적 배열로 객체를 삽입 및 제거하는데, 접근은 배열처럼 간단하고 vector에 대한 수정은 연결리스트처럼 명료하다.
    vector는 string, int와 같이 단일 자료형을 위해서도 사용이 가능하지만 복수 자료형을 위한 pair나 tuple과 함께 사용 시, 효과가 더욱 증가된다. 개발자가 생각하는 자료형의 배열에 대해 추가, 삭제, 정렬 등이 간단해짐으로서 코드가 매우 간결해진다. 무엇보다 직관적이어서, 협업에 있어서도 매우 편리한 라이브러리다.

     

    pair

    pair는 key, value로 이루어진 자료형이다. pair를 통해, return 값을 2개로 확장시킬 수 있고 함수를 구현함에 있어 유연성을 확보할 수 있다. 그리고 map 라이브러리의 기본 형태가 pair이기 떄문에 map하고 같이 활용하기에 좋다

     

    tuple

    tuple은 3개 이상의 값으로 이루어진 자료형이고 return 값으 3개 이상으로 확장가능한다. 물론, 구조체로도 가능하지만 구조체의 경우 각 요소에 대한 이름을 명시해주어야 한다. 구조체 대비 tuple의 장점은 개발함에 있어, 작명에 대해 손을 놓게 해주고 이것만으로도 개발 시간을 매우 단축시킬 수 있다. 또한, 처리속도 부분에서도 tuple이 좋다는 의견들이 우세한 듯 하다.