"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > 임시 컨테이너를 사용하여 범위 파이프라인을 어떻게 만들 수 있나요?

임시 컨테이너를 사용하여 범위 파이프라인을 어떻게 만들 수 있나요?

2024-11-08에 게시됨
검색:671

How Can We Create Range Pipelines with Temporary Containers?

임시 컨테이너를 사용하여 범위 파이프라인 구현

임시 컨테이너 내의 값을 처리하는 범위 파이프라인을 생성하려면 views::cache1 연산자를 통합하는 것이 필수적입니다. 이 연산자는 변환 결과를 캐시하여 후속 작업에 사용할 수 있도록 합니다.

타사 함수 f가 T 유형의 매개변수를 가져와 T 벡터를 반환하는 다음 시나리오를 고려해보세요. 무한 범위 src의 모든 요소에 f를 적용하고 결과를 단일 범위로 평면화하는 범위 파이프라인에서는 다음 접근 방식을 활용할 수 있습니다.

auto rng = src | views::transform(f) | views::cache1 | views::join;

파이프라인 구성 요소:

  1. views::transform(f): f 함수를 다음에 적용합니다. src의 각 요소로 인해 다양한 벡터 컨테이너가 생성됩니다.
  2. views::cache1: 이전 변환의 출력을 캐시하여 추가 처리에 사용할 수 있도록 합니다.
  3. views::join: 벡터 컨테이너의 범위를 단일 범위로 평면화하여 모든 요소를 ​​효과적으로 결합합니다.

view::cache1을 통합하여 임시 벡터가 f에 의해 생성된 컨테이너는 단일 범위로 연결하기 위해 views::join에 사용할 수 있습니다. 이는 임시 컨테이너에서 올바르게 작동하는 범위 파이프라인을 만드는 데 필수적입니다.

최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3