> 백엔드 개발 > C++ > C 17에 도입된 주요 언어 및 라이브러리 기능은 무엇입니까?

C 17에 도입된 주요 언어 및 라이브러리 기능은 무엇입니까?

Linda Hamilton
풀어 주다: 2024-12-13 16:33:13
원래의
214명이 탐색했습니다.

What are the Key Language and Library Features Introduced in C  17?

C 17의 새로운 기능

C 17의 기능 개발이 완료된 후 몇 가지 새로운 언어 기능과 라이브러리가 추가되었습니다.

언어 기능:

  • 향상된 템플릿 사용:

    • 클래스 템플릿에 대한 템플릿 인수 추론
    • 템플릿이 있는 모든 유형의 값
  • Lambda 향상:

    • constexpr 람다 소개
    • 캡처 기능 이것에 Lambdas
  • 속성:

    • [[fallthrough]], [[nodiscard]와 같은 새로운 속성 도입 ], 그리고 [[maybe_unused]]
  • 구문 정리:

    • 인라인 변수
    • 간소화된 네임스페이스 구문: 네임스페이스 A::B
    • 투척 금지 표현식: throw() 및 noException(true)
  • 제어 흐름 개선:

    • 값 압축 해제를 위한 구조적 바인딩
    • 흐름 향상을 위한 if(init; 조건) 및 스위치(init; 조건) control
    • 일반화된 범위 기반 for 루프
    • 조건부 컴파일을 위한 if constexpr
  • 기타 주목할만한 기능:

    • 16진수 부동 소수점 리터럴
    • 과도하게 정렬된 데이터에 대한 동적 메모리 할당
    • 복사 제거 보장
    • 표현식에 대한 고정 평가 순서
    • 열거형의 직접 목록 초기화
    • 앞으로의 발전을 보장합니다. 스레드

라이브러리 추가:

데이터 유형:

  • std ::다양한 값을 나타내는 변형 유형
  • 선택적 값을 나타내는 std::선택 사항
  • 복사할 수 없는 유형을 포함하여 모든 유형의 값을 나타내는 std::any
  • 효율적인 처리를 위한 std::string_view 유형 없이 데이터를 표현하기 위한 문자열 참조
  • std::byte 정보

호출 가능 처리:

  • 일반 호출 가능 호출의 경우 std::invoke
  • 튜플 기반의 경우 std::apply 호출 가능 호출
  • std::make_from_tuple 튜플에서 객체 구성
  • is_invocable 및 관련 특성 소개

파일 시스템 라이브러리:

  • 파일 시스템 구현 기술 사양 (TS)

새로운 알고리즘:

  • for_each_n, Reduce,Transform_reduce 등

스레딩 개선 사항:

  • 더 효율적인 멀티 스레드 액세스를 위한 std::shared_mutex 도입
  • 원자적 보장 및 하드웨어 간섭 크기 감지

도서관 기초 TS 추가 사항:

  • 검색 알고리즘(alg.search)
  • 다형성 할당자(pmr)

컨테이너 개선 사항:

  • 효율적인 컨테이너를 위한 try_emplace 및 insert_or_sign 삽입
  • 맵, 세트 및 정렬되지 않은 컨테이너에 대한 접합
  • 문자열에 대한 비상수 데이터() 액세스

스마트 포인터:

  • 수정 및 변경 사항 Unique_ptr
  • 공유 포인터 관리를 위한 Weak_from_this 소개

기타:

  • 대신 C11 사용 표준에 대한 C99 library
  • 향후 표준 라이브러리를 위해 예약된 std[0-9] 네임스페이스
  • 다양한 유틸리티 함수(파괴, 초기화되지 않음_***)
  • 특수 수학 함수 노출
  • std::clamp, std::gcd 및 소개 std::lcm
  • std::uncaught_Exceptions
  • std::as_const, std::bool_constant 및 다양한 템플릿 유틸리티를 포함한 예외 처리 개선
  • 개선된 std::chrono library
  • 부울 연산자 소개 (std::conjunction, std::disjunction, std::negation)
  • std 내 noException 사용 규칙

사용되지 않는 기능:

  • 일부 C 라이브러리 제거, , result_of 등

위 내용은 C 17에 도입된 주요 언어 및 라이브러리 기능은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿