1. iterator 기반으로 새로운 vector 선언하기
새로운 벡터를 선언하면서 기존 벡터의 iterator 시작과 끝을 넣어주면된다.
end가 끝점을 포함하지 않는다는 점에 주의.
std::vector<int> original = {1, 2, 3, 4, 5, 6, 7};
int start = 2; // 시작 인덱스 (0부터 시작)
int end = 5; // 끝 인덱스 (포함하지 않음)
// 부분 벡터 생성
std::vector<int> subvector(original.begin() + start, original.begin() + end);
2. std::ranges::subrange 로 부분 추출하기 (C++ 20)
cppreference : std::ranges::subrange
https://en.cppreference.com/w/cpp/ranges/subrange
<ranges> 헤더에 정의됨. 시작과 끝 iterator를 입력하면 된다.
std::vector<int> original = {1, 2, 3, 4, 5, 6, 7};
auto sliced = std::ranges::subrange(original.begin() + 2, original.begin() + 5);
'🌍 C++ Study > C++ 기초' 카테고리의 다른 글
C++ vector 두 벡터 합치기, 이어 붙이기 (0) | 2024.11.20 |
---|---|
C++ std::distance 이터레이터의 거리 구하기 (0) | 2024.11.20 |
C++ std::count string의 문자 갯수 세기 std::count_if (0) | 2024.11.19 |
C++ vector sort 벡터 정렬 algorithm (0) | 2024.11.17 |
C++ string 문자열 뒤집기 std::reverse (0) | 2024.11.16 |