728x90
반응형
c++17에 추가된 문법을 도서 "전문가를 위한 C++17(개정4판)"에서 빠르게 찾기 위해서 정리해보았다.
| page | |
| 58 | 중첩된 네임스페이스 (nested namespace) |
| 61 | std::byte |
| 69 | if문의 이니셜라이저(intializer : 초기자) |
| 72 | switch문의 이니셜라이저(intializer : 초기자) |
| 81 | 구조적 바인딩(structured binding) |
| 138 | 로우 레벨 숫자 변환 |
| #include <charconv> | |
| 140 | std::string_view클래스 |
| 298 | weak_ptr도 shared_ptr와 마찬가지로 C스타일 배열을 지원한다. |
| 299 | weak_from_this() |
| 390 | static 데이터 멤버를 inline으로 선언할 수 있다. |
| 530 | std::as_const() 헬퍼 메서드 |
| #include <utility> | |
| as_const(obj) == const_cast<const T&>(obj) | |
| 539 | [[fallthrough]] |
| 어트리뷰트 | [[nodiscard]] |
| [[maybe_unused]] | |
| 543 | 사용자 정의 리터널 |
| sv : std::string_view | |
| 546 | __has_include("파일명") |
| __has_include(<파일명>) | |
| 576 | 생성자에 대한 템플릿 매개변수 추론 |
| 741,990 | <optional> |
| 991 | <variant> |
| 994 | <any> |
| 741 | 파일시스템 <filesystem> |
|
<filesystem>헤더 파일에 정의된 것들은 모두 std::filesystem 네임스페이스에 속한다.
|
|
| 755, 902 | 알고리즘 : sample() |
| 주어진 시퀀스에서 n개 원소를 무작위로 선택한다. | |
| 756, 906 | for_each_n( ) |
|
for_each와 비슷하지만 주어진 시퀀스에서 첫 n개 원소만 처리한다.
|
|
| 907 | exchange( ) |
|
지정한 값을 새 값으로 교체하고 기존 값을 리턴한다. <utility>헤더 파일에 정의돼 있다.
|
|
| 758, 917 | clamp( ) |
| 759 | 수치연산 알고리즘 |
| 919 | gcd( ) 최대 공약수 |
| lcm( ) 최소 공배수 | |
| 920 | exclusive_scan( ) |
| inclusive_scan( ) | |
| transform_exclusive_scan( ) | |
| transform_inclusive_scan( ) | |
| 919 | reduce( ) |
| 920 | transform_reduce( ) |
| 788 | 전역함수 추가: 모든 컨테이너에 대해 호출 가능 |
| std::size( ) | |
| std::empty( ) | |
| 789 | std::data( ) |
| 824 | 노드(node), 노드 핸들(node handle) |
| node_type 타입 앨리어스 | |
| 노드 핸들을 컨테이너에 추가하는 insert() | |
| 839 | 컨테이너 멤버함수 |
| extract( ) | |
| insert_or_assigb( ) | |
| merge( ) | |
| try_emplace( ) | |
| 866 | 람다 캡쳐 |
|
[*this]: 현재 객체의 복제본을 캡쳐한다. 람다 표현식을 실행하는 시점에 객체가 살아 있지 않을 때 유용하다.
|
|
| 867 | 람다 표현식 |
|
constexptr 람다 표현식을 const로 지정한다. 그러면 컴파일 시간에 평가된다.
|
|
| 880 | not_fn |
| 883 | invoke( ) <functional> |
| 889 | 특수 탐색 알고리즘 <functional> |
|
search( ) 알고리즘에 원하는 탐색 알고리즘을 지정할 수 있도록 매개변수가 추가됐다.
|
|
| default_searcher | |
| boyer_moore_searcher | |
| boyer_moore_horspool_searcher | |
| 917 | 병렬 알고리즘 |
| 978 | time_point에 연산 추가 |
| floor( ) | |
| ceil( ) | |
| round( ) | |
| 1002 | make_from_tuple |
| std::make_from_tuple<T>(tuple) | |
|
T타입의 생성자에 tuple의 원소를 인수로 전달해서 T객체를 만든다.
|
|
| 1003 | std::apply( ) |
| 1013 | 다형 메모리 할당자(polymorphic memory allocator) |
| 1080 | template에서 class 대신 typename 키워드를 사용할수 있다. |
| 1103 | 폴딩 표현식(folding expression) |
| 1111 | constexpr if |
| 런타임이 아닌 컴파일 시간에 수행된다. | |
| 조건을 만족하지 않으면 컴파일되지 않는다. | |
| 1116 |
value멤버가 있는 트레이트마다 트리에트 이름 뒤에 _v가 붙은 가변 템플릿이 추가됐다.
|
| some_trait_v<T> | |
| is_intergral_b<T> | |
| is_const_v<T> | |
| 1156 | std::scoped_lock <mutex> |
|
lock_guard와 비슷하지만 뮤텍스를 지정하는 인수 개수에 제한이 없다.
|
728x90
반응형
'👨🏻💻 programming > ◽ c, c++' 카테고리의 다른 글
| (c++20) [Three-way Comparsion(3방향 비교 연산자)/우주선] 연산자 (0) | 2024.06.14 |
|---|---|
| (c++20) consteval, constinit (0) | 2024.06.14 |
| [C++] Map의 Key로 Class/Struct 넣기 (2) | 2023.08.11 |
| (c++) 인코딩(Encoding),유니코드(Unicode), 로케일, 패싯 (0) | 2022.09.07 |
| (c++) 디자인 패턴 01(싱글톤, 추상 팩토리, 옵저버, 프록시, 어댑터) (2) | 2022.08.24 |