C++26: Span 개선 사항
C++26에서는 std::span의 사용성을 높이기 위한 여러 개선이 이루어졌습니다.
첫째, initializer_list로부터의 직접 변환을 지원하여 중괄호 초기화 시 더 간편해졌으며, 이는 함수 오버로드 시 약간의 모호성을 유발할 수 있으나 실무에서는 큰 문제를 일으키지 않습니다.
둘째, 기존에 없던 span.at() 메서드가 추가되어, 범위 검사와 예외 처리가 가능한 안전한 인덱싱이 가능해졌습니다.
셋째, freestanding 환경(예: 임베디드 시스템)에서도 span, expected, out_ptr, inout_ptr, mdspan 같은 주요 라이브러리 기능을 사용할 수 있도록 지원 범위가 확장되었습니다.
마지막으로, 클래스 템플릿 인자 추론(CTAD)이 개선되어, 컴파일 타임 상수 크기를 더 정확히 추론함으로써 정적 크기 정보를 잃지 않고 효율적인 타입 추론이 가능해졌습니다.
이러한 변화들은 파격적이지는 않지만, std::span의 완성도를 높이고 C++ 표준 라이브러리 내에서 일관성과 편의성을 강화하는 데 기여합니다.