deque::assign
deque::assign (내용을 특정 값/범위로 교체)
컨테이너의 내용을 주어진 값들로 모두 교체하는 멤버 함수예요. <deque> 헤더에 있어요.
출처: cppreference
본문
assign은 컨테이너의 내용을 새 값들로 교체해요. 세 가지 오버로드가 있어요.
void assign( size_type count, const T& value ); // (1)
template< class InputIt >
void assign( InputIt first, InputIt last ); // (2)
void assign( std::initializer_list<T> ilist ); // (3)
-
- 내용을
value의count개 복사본으로 교체해요.
- 내용을
-
- 내용을 범위
[first, last)의 복사본으로 교체해요. 만약 두 인자 중 하나가*this안의 반복자이면 동작이 미정의예요.InputIt이 정수 계열 타입이면 이 오버로드는 (1)과 같은 효과예요(C++11까지).
- 내용을 범위
-
- 내용을
ilist의 복사본으로 교체해요.
- 내용을
assign은 대입(=)과 비슷하지만, "n개의 동일한 값"이나 "반복자 범위나 초기화자 목록"으로 내용을 한 번에 갈아치울 수 있어요.
std::deque<int> d;
d.assign(5, 42); // 42를 5개
d.assign({1, 2, 3}); // 1,2,3
기존 요소를 지우고 새로 채우는 방식이므로, 내용을 통째로 교체할 때 유용해요.