목록2025/03/18 (2)
나만의 작은 도서관
STL Container의 공통된 기능 : 비교 연산자와 반복자STL 컨테이너들은 공통적으로 비교 연산자와 반복자를 지원한다. 단, 컨테이너 어뎁터에 반복자를 지원하지 않는 것처럼 일부 컨테이너들은 지원하지 않는 경우가 있다. 비교 연산자 오버로딩 지원순서 개념이 없는 unordered_xxx 계열의 컨테이너가 크기 비교(, >=) 연산자를 제공하지 않는다는 점을 제외하면 모든 컨테이너가 비교 연산자를 지원한다. 컨테이너들은 비교할 때 내부적으로 "std::lexicographical_compare"를 이용하여 사전식(lexicographical order)으로 비교한다. +) 참고로, 연관 컨테이너는 값과 상관없이 오로지 key를 기준으로 비교한다. 제공하는 연산자 종류는 아래와 같다.operator=..

컨테이너 어뎁터란? 컨테이너 어뎁터(Container Adapters)는 C++에서 제공하는 STL 컨테이너 종류(시퀀스 컨테이너, 연관 컨테이너, 컨테이너 어뎁터) 중 하나로, 기존 컨테이너(deque, vector, list 등)를 감싸서 "특정 용도로 변형한" 컨테이너이다. 컨테이너 어뎁터 종류스택(stack)큐(queue)우선순위 큐(priority queue) 컨테이너 어뎁터 공통 제약 사항 initializer_list 생성자 없음컨테이너 어뎁터는 공통적으로 initializer_list 생성자를 가지고 있지 않는다. 따라서 아래와 같이 초기화할 수 없다.queue q = {1, 2, 3, 4, 5}; // X initializer_list 생성자를 사용하고 싶다면, 기본 컨테이너를 ini..