태그: view
3편
-
C++20 std::span: 배열·vector·array를 하나의 비소유 뷰로 받기
배열, std::vector, std::array를 받는 함수를 따로 만들지 않고 C++20 std::span 하나로 받는 방법을 설명합니다. span이 포인터와 길이만 가진 비소유 뷰라서 복사가 싸다는 점, 부분 범위와 2D 배열 다루기, 수명과 const 관련 실수를 예제로 봅니다.
-
C++20 std::span 심화: 정적·동적 extent, subspan, 읽기 전용 뷰
C++20 std::span의 동적 크기와 정적 크기(extent) 차이, subspan·first·last로 부분 범위를 자르는 법, span<const T>로 읽기 전용 뷰를 만드는 법을 행렬 연산·슬라이딩 윈도우·이미지 처리 예제로 익힙니다. 임시 객체로 생기는 댕글링 span도 짚습니다.
-
C++ Ranges Views와 파이프라인 | 지연 연산으로 효율적으로 다루기 [#25-2]
중간 벡터를 여러 개 만드는 루프 코드를 C++20 Ranges view 파이프라인(filter·transform·take·split·join)으로 바꾸고, 지연 평가가 동작하는 방식과 dangling view·조건부 파이프라인 타입 같은 함정을 정리합니다.