더북(TheBook)

원소 개수를 지정해서 deque를 생성하면 각 원소는 해당 타입의 기본값으로 저장된다. 따라서 앞에서 정의한 my_deque는 모든 원소가 0으로 초기화된다. string 원소 개수를 지정해서 deque를 생성하면 각 원소는 string() 생성자를 호출해서 초기화된다.

deque를 생성하고 초기화 리스트를 사용해서 초기화하는 것도 가능하다.

std::deque<std::string> words { "one", "none", "some", "all", "none", "most", "many"};

words 컨테이너는 초기화 리스트의 리터럴로 생성한 string 원소 7개를 갖게 된다. 물론, 초기화 리스트에서 객체를 string("one), string("none)처럼 지정할 수도 있다. deque 컨테이너에는 컨테이너의 복제본을 생성하는 복제 생성자도 있다.

std::deque<std::string> words_copy { words }; // words 컨테이너의 복제본을 만든다

두 반복자로 초기화 범위를 지정해서 deque를 생성할 수도 있다.

std::deque<std::string> words_part { std::begin(words), std::begin(words) + 5 };

words_part 컨테이너는 words 컨테이너에서 처음 다섯 개 원소와 같은 원소로 생성된다. 물론, 초깃값의 범위는 어떤 종류의 컨테이너로도 지정할 수 있다. 즉, 반드시 deque 컨테이너로 범위를 지정하지 않아도 된다. deque에는 랜덤 액세스 반복자가 있으며, deque 컨테이너를 위한 const 반복자, non-const 반복자, 역방향 반복자를 얻을 수 있으며 벡터와 사용 방법이 같다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.