std::forward_list<T,Allocator>:: resize
From cppreference.net
<
cpp
|
container
|
forward list
|
void
resize
(
size_type count
)
;
|
(1) |
(C++11부터)
(C++26부터 constexpr) |
|
void
resize
(
size_type count,
const
value_type
&
value
)
;
|
(2) |
(C++11부터)
(C++26부터 constexpr) |
컨테이너의 크기를 count 개의 요소를 포함하도록 조정합니다:
- count 가 현재 크기와 같으면 아무 작업도 수행하지 않습니다.
- 현재 크기가 count 보다 크면, 컨테이너는 처음 count 개의 요소로 축소됩니다.
- 현재 크기가 count 보다 작으면:
1)
추가적인
default-inserted
요소들이 추가됩니다.
2)
value
의 추가 복사본이 추가됩니다.
목차 |
매개변수
| count | - | 컨테이너의 새로운 크기 |
| value | - | 새로운 요소들을 초기화할 값 |
| 타입 요구사항 | ||
|
-
|
||
복잡도
현재 크기와 count 사이의 차이에 선형적으로 비례합니다. 첫 번째 삭제할 요소/삽입할 끝 위치에 도달하기 위한 리스트 순회로 인해 추가적인 복잡도가 발생할 수 있습니다.
참고 사항
오버로드에서 값 초기화
(
1
)
가 바람직하지 않은 경우, 예를 들어 요소들이 비클래스 타입이고 제로화가 필요하지 않다면,
사용자 정의
Allocator::construct
를 제공함으로써 이를 피할 수 있습니다.
예제
이 코드 실행
#include <forward_list> #include <iostream> void print(auto rem, const std::forward_list<int>& c) { for (std::cout << rem; const int el : c) std::cout << el << ' '; std::cout << '\n'; } int main() { std::forward_list<int> c = {1, 2, 3}; print("The forward_list holds: ", c); c.resize(5); print("After resize up to 5: ", c); c.resize(2); print("After resize down to 2: ", c); c.resize(6, 4); print("After resize up to 6 (initializer = 4): ", c); }
출력:
The forward_list holds: 1 2 3 After resize up to 5: 1 2 3 0 0 After resize down to 2: 1 2 After resize up to 6 (initializer = 4): 1 2 4 4 4 4
참고 항목
|
가능한 최대 요소 수를 반환합니다
(public member function) |
|
|
컨테이너가 비어 있는지 확인합니다
(public member function) |