std::forward_list<T,Allocator>:: assign
|
void
assign
(
size_type count,
const
T
&
value
)
;
|
(1) |
(C++11부터)
(C++26부터 constexpr) |
|
template
<
class
InputIt
>
void assign ( InputIt first, InputIt last ) ; |
(2) |
(C++11부터)
(C++26부터 constexpr) |
|
void
assign
(
std::
initializer_list
<
T
>
ilist
)
;
|
(3) |
(C++11부터)
(C++26부터 constexpr) |
컨테이너의 내용을 대체합니다.
[
first
,
last
)
.
|
이 오버로드는
|
(C++11 이전) |
|
이 오버로드는
|
(C++11 이후) |
컨테이너 요소에 대한 모든 반복자, 포인터 및 참조가 무효화됩니다.
목차 |
매개변수
| count | - | 컨테이너의 새로운 크기 |
| value | - | 컨테이너 원소를 초기화할 값 |
| first, last | - | 복사할 원소들의 소스 범위 를 정의하는 반복자 쌍 |
| ilist | - | std::initializer_list 에서 값을 복사할 |
복잡도
예제
다음 코드는
assign
을 사용하여 여러 문자를
std::
forward_list
<
char
>
에 추가합니다:
#include <forward_list> #include <iostream> #include <string> int main() { std::forward_list<char> characters; auto print_forward_list = [&]() { for (char c : characters) std::cout << c << ' '; std::cout << '\n'; }; characters.assign(5, 'a'); print_forward_list(); const std::string extra(6, 'b'); characters.assign(extra.begin(), extra.end()); print_forward_list(); characters.assign({'C', '+', '+', '1', '1'}); print_forward_list(); }
출력:
a a a a a b b b b b b C + + 1 1
결함 보고서
다음 동작 변경 결함 보고서는 이전에 게시된 C++ 표준에 소급 적용되었습니다.
| DR | 적용 대상 | 게시된 동작 | 올바른 동작 |
|---|---|---|---|
| LWG 2209 | C++11 |
대체 연산이 모든 기존 요소를 삭제한 후
주어진 요소를 삽입하는 방식으로 구현되어야 했음 |
해당 요구사항을
제거함 |
참고 항목
|
(C++23)
|
값의 범위를 컨테이너에 할당합니다
(public member function) |
|
값을 컨테이너에 할당합니다
(public member function) |