std::list<T,Allocator>:: resize
From cppreference.net
|
void
resize
(
size_type count
)
;
|
(1) | (constexpr since C++26) |
|
void
resize
(
size_type count,
const
value_type
&
value
)
;
|
(2) | (constexpr since C++26) |
컨테이너의 크기를 count 개의 요소를 포함하도록 조정합니다:
- 만약 count 가 현재 크기와 같다면, 아무 작업도 수행하지 않습니다.
- 현재 크기가 count 보다 크다면, 컨테이너는 처음 count 개의 요소로 축소됩니다.
- 현재 크기가 count 보다 작다면:
2)
value
의 추가 복사본이 추가됩니다.
목차 |
매개변수
| count | - | 컨테이너의 새로운 크기 | ||
| value | - | 새로운 요소들을 초기화할 값 | ||
| 타입 요구사항 | ||||
-
|
||||
복잡도
현재 크기와 count 사이의 차이에 선형적으로 비례합니다.
참고 사항
오버로드에서 값 초기화
(
1
)
가 바람직하지 않은 경우, 예를 들어 요소들이 비클래스 타입이고 제로화가 필요하지 않다면,
사용자 정의
Allocator::construct
를 제공하여 이를 피할 수 있습니다.
예제
이 코드 실행
#include <list> #include <iostream> void print(auto rem, const std::list<int>& c) { for (std::cout << rem; const int el : c) std::cout << el << ' '; std::cout << '\n'; } int main() { std::list<int> c = {1, 2, 3}; print("The 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 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
결함 보고서
다음의 동작 변경 결함 보고서들은 이전에 발표된 C++ 표준에 소급 적용되었습니다.
| DR | 적용 대상 | 게시된 동작 | 올바른 동작 |
|---|---|---|---|
| LWG 132 | C++98 | 삭제 범위 결정에 임의 접근 반복자가 사용됨 | 양방향 반복자 사용 |
| LWG 679 | C++98 |
resize()
가
value
를 값으로 전달함
|
const 참조로 전달 |
| LWG 1420 | C++98 | resize ( size ( ) ) 의 동작이 명시되지 않음 | 명시됨 |
참고 항목
|
가능한 최대 원소 개수를 반환합니다
(public member function) |
|
|
원소의 개수를 반환합니다
(public member function) |
|
|
컨테이너가 비어 있는지 확인합니다
(public member function) |