C++17은 표준 C++ 언어의 최신 버전입니다. C++11 및 C++14는 C++의 이전 버전입니다. 현재 버전은 핵심 언어에 몇 가지 추가 기능을 제공하지만 일부 이전 기능도 제거되었습니다. C++17은 기능 전체 또는 기능 완료로 알려져 있습니다.
C++17에 도입된 몇 가지 새로운 변경 사항이 있습니다 -
라이브러리 변경 사항 - 유틸리티
이것은 C++17의 가장 놀라운 기능 중 하나입니다. 다른 라이브러리의 기능과 패턴을 병합합니다. 많은 하위 라이브러리가 표준으로 병합됩니다.
다음 기능이 C++17의 utils 라이브러리에 추가되었습니다 -
- std::변형
- std::검색
- std::string_view
- std::선택 사항
- std::모든
라이브러리 변경 - 파일 시스템
이전 표준 라이브러리에는 몇 가지 주요 기능이 없었습니다. C++ 위원회는 라이브러리를 강화하고 많은 시스템을 표준으로 병합했습니다.
다음 기능이 C++17의 파일 시스템에 추가되었습니다 -
- 경로 개체 작업
- 컴파일러/라이브러리 지원
- 경로 탐색
라이브러리 변경 - 병렬 알고리즘
C++11 및 C++ 17의 이전 기능에 몇 가지 새로운 기능을 추가합니다. 표준 라이브러리에 대한 자동 병렬화 또는 자동 벡터화 기능을 잠금 해제했습니다.
C++17의 병렬 알고리즘에 다음 기능이 추가되었습니다. -
- 알고리즘 업데이트
- 실행 정책
- 새로운 알고리즘
속성
C++17에는 [[maybe_unused]], [[fallthrough]] 및 [[nodiscard]]와 같은 세 가지 새로운 속성이 추가되었습니다.
단순화
이전 버전의 C++에는 코드를 단순화하는 몇 가지 기능이 있습니다. C++17은 코드 단순화를 위해 다음 기능에 이 기능을 추가했습니다 -
- if/switch에 대한 초기화 문
- 인라인 변수
- 구조화된 바인딩 선언
검색자
C++17은 이전 버전의 C++ 언어에서 이전 검색기를 개선했습니다. boyer_moore_horspool_searcher, default_searcher 및 boyer_moore_searcher는 C++17의 새로운 검색자입니다.