더북(TheBook)

첫 번째 인수는 두 번째 인수의 인스턴스 개수를 지정하며, 두 번째 인수는 컨테이너의 현재 내용을 대체하는 데 사용된다.

vector 컨테이너도 이와 같은 assign() 함수 멤버를 제공하므로 vector에 있는 원소들을 새로운 원소들로 대체할 수 있다.

할당 연산자로도 deque 컨테이너의 내용을 대체할 수 있다. 즉, deque 컨테이너를 할당문의 왼쪽에 쓰면 된다. 할당문의 오른쪽 피연산자는 타입이 같은 컨테이너이거나 초기화 리스트여야 한다. 할당 연산은 vector 컨테이너도 지원한다. deque에 새로운 원소들을 할당하는 과정을 설명하는 예제는 다음과 같다.

std::deque<std::string> words { "one", "two", "three", "four"};
std::deque<std::string> other_words;
other_words = words;                        // other_words는 words와 같은 내용
words = {"seven", "eight", "nine"};         // words의 내용은 대체된다

이 문장들을 실행한 후에 other_wordswords의 원본 순차열과 일치하는 원소들을 갖게 되고, words는 초기화 리스트의 리터럴로 생성된 string 객체들을 갖게 된다. 할당문 이후 컨테이너의 크기는 할당된 원소들의 개수가 된다. 초기화 리스트로 deque에 새로운 원소 집합을 할당하면 deque의 용량은 새로운 크기와 같게 된다.

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