C++20과 C++23을 활용한 “파이썬스러운” API 구현 #1: range와 enumerate
C++ 코드를 작성하다 보면, 파이썬의 range, enumerate 같은 직관적이고 깔끔한 반복 구문이 부러울 때가 있습니다. 예를 들어 for i in range(10)라고만 쓰면 0부터 9까지 편하게 순회할 수 있고, for idx, val in enumerate(obj)로 인덱스와 값을 동시에 받아오는 문법은 가독성을 크게 높여줍니다. 이 글에서는 C++17, C++20, C++23에 걸쳐 제공되는 기능들을 활용해 파이썬스러운 API를 구현하고, 다양한 상황에서의 사용 예제와 성능, 유연성에 대해 살펴보겠습니다. 구성은 다음과 같습니다:일반적인 C++ 구현 (Before)기존 C++ 스타일로 인덱스와 값을 처리하는 방식.단순한 Python 같은 C++ 구현 (After: 첫 단추)C++17에서도 ..