"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > C ++ 17에 도입 된 주요 언어 및 라이브러리 기능은 무엇입니까?

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

2025-02-06에 게시되었습니다
검색:173

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

언어 기능 :

  • 템플릿 인수 공제 클래스 템플릿

      템플릿 & lt; auto & gt;
  • lambda 향상 :

    constexpr lambdas의 소개
    • lambdas에서 이것을 캡처하는 능력
  • 속성 :

    [[allterrough]], [[nodiscard]] 및 [[maygrought]] 및 [[maygrough]]

    • 인라인 변수
  • 단순화 된 네임 스페이스 구문 : 네임 스페이스 A :: B
  • no-throw 표현식 : truth ()

    • 제어 흐름 개선 :
  • if (init; 조건부 컴파일
    • 기타 주목할만한 특징 :
    16 진수 플로트 포인트 리터럴
  • 과도하게 조정 된 데이터에 대한 동적 메모리 할당 보장 된 사본 eLision

      표현식에 대한 고정 된 평가 순서
    • 열거의 직접 목록-시작
    • 스레드의 전진 진행 보증
    • &&] 라이브러리 추가 : 선택적 값을 나타내는 선택적 옵션
  • std :: 문자열 참조의 효율적인 처리를 위해 copyable 유형을 포함하여 모든 유형의 값을 나타내는 모든 유형의 값을 나타냅니다.

유형 정보가없는 데이터를 표현하기위한 std :: 바이트

Callable Handling :

  • std :: 일반적인 호출 가능 호출
  • ] std :: 튜플에서 물체를 구성하기 위해 튜플 기반 호출 가능한 호출
  • std :: make_from_tuple

파일 시스템 라이브러리 :

    for_each_n, row, transform_reduce 및 more
  • 스레딩 향상 :
  • 더 효율적인 멀티-스레드에 대한 shared_mutex 소개 Access

원자 보증 및 하드웨어 간섭 크기 감지

  • 라이브러리 기초 TS 추가 :

검색 알고리즘 (Alg.search)

    polymorphic allocator (pmr)

컨테이너 개선 :

  • insert_or_assign

] 맵, 세트 및 변환되지 않은 컨테이너의 스 플라이 싱

  • 스트링에 대한 비 콘스트 데이터 ()

스마트 포인터에 대한 액세스 :

  • &&]는 고유 한 포인터를 관리하기위한 expected
  • 공유 포인터를 관리하기위한 소개

  • ] 표준 라이브러리에 C99 대신 C11의 사용
  • 미래 표준 라이브러리를위한 예약 된 STD [0-9] 네임 스페이스

다양한 유틸리티 함수 (파괴, 비 초기화 _ ***) &&] 특수 기능의 노출

std :: clamp, std :: gcd 및 std :: lcm
  • 예외 처리 개선
  • ] std :: As_const, std :: bool_constant 및 다양한 템플릿 유틸리티
  • 개선 된 std :: Chrono 라이브러리
  • 부울 운영자 소개 (std :: conjunt, std :: disjunction, std : std : : 부정)
  • std
일부 c 라이브러리의 제거; codecvt & gt;, result_of 및 기타

최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3