C++ åèæå
- C++11
- C++14
- C++17
- C++20
- 注é
- C++ ç¼è¯å¨æ¯ææ åµè¡¨
- ç¬ç«ä¸å®¿ä¸»å®ç°
- C++ è¯è¨
- C++ å ³é®è¯
- é¢å¤çå¨
- C++ æ ååºå¤´æä»¶
- å ·åè¦æ±
- åè½ç¹æ§æµè¯ (C++20)
- å·¥å ·åº
- ç±»åæ¯æï¼åºæ¬ç±»åãRTTIãç±»åç¹æ§ï¼
- æ¦å¿µåº (C++20)
- é误å¤ç
- 卿å å管ç
- æ¥æåæ¶é´å·¥å ·
- å符串åº
- 容å¨åº
- è¿ä»£å¨åº
- èå´åº (C++20)
- ç®æ³åº
- æ°å¼åº
- è¾å ¥/è¾åºåº
- æä»¶ç³»ç»åº
- æ¬å°ååº
- æ£å表达å¼åº
- ååæä½åº
- çº¿ç¨æ¯æåº
- å®éªæ§ C++ ç¹æ§
- æç¨çèµæº
- ç´¢å¼
- std 符å·ç´¢å¼
- åç¨æ¯æ (C++20)
- C++ å ³é®è¯
ä½ç½®ï¼é¦é¡µ > C++ åèæå > C++17
C++17
以ä¸ç¹æ§å·²è¢«åå ¥ C++17 ä¸ï¼
- 仿æ¯è§èä¸ï¼æä»¶ç³»ç»åºï¼åºåºç¡ v1 (å
æ¬ optional, any, string_view, polymorphic allocators, æç´¢å¨, apply)ï¼å¹¶è¡åº v1 (å
æ¬ æ§è¡çç¥, reduce, inclusive_scan, exclusive_scan)ï¼ä½ä¸å
æ¬
exception_listãä»ç¹æ®æ°å¦å½æ° IS ä¸ï¼æ°å¦ç¹æ®å½æ°ï¼ä»åºåºç¡ v2 ä¸ï¼std::gcd, std::lcm - ä» C11 ä¸ï¼std::aligned_alloc, std::timespec_get
åºå¼
ç§»é¤
auto_ptr, ä¹å已被声æå¼ç¨ç彿°å¯¹è±¡, std::random_shuffle, std::unexpected, the obsolete iostreams aliases, 䏿 符, register å ³é®å, bool ç±»åçèªå¢æä½
声æå¼ç¨
std::iterator,
std::raw_storage_iterator,
std::get_temporary_buffer,
std::is_literal_type,
std::result_of,
æ´ä¸ª <codecvt> 头æä»¶
æ°çè¯è¨ç¹æ§
- æå 表达å¼
- 类模æ¿å®åæ¨å¯¼
- auto å ä½çéç±»åæ¨¡æ¿åæ°
- ç¼è¯æç constexpr if è¯å¥
- å èåé
- ç»æåç»å®
- if å switch è¯å¥ä¸çåå§åå¨
- u8-char
- ç®åçåµå¥å½å空é´
- using 声æè¯å¥å¯ä»¥å£°æå¤ä¸ªåç§°
- å° noexcept ä½ä¸ºç±»åç³»ç»ç¾åçä¸é¨å
- æ°çæ±å¼é¡ºåºè§å
- 强å¶çå¤å¶æ¶é¤
- lambda è¡¨è¾¾å¼æè· *this
- constexpr ç lambda 表达å¼
- attribute namespaces don't have to repeat
- æ°å±æ§
[[fallthrough]][[nodiscard]]å[[maybe_unused]]. - __has_include
æ°ç头æä»¶
æ°çåºç¹æ§
utility ä¸
memory ä¸
- 䏿ªåå§åå åç¸å ³çå·¥å ·
- weak_from_this
- polymorphic allocators
- aligned_alloc
- transparent owner_less
- é对æ°ç»ç shared_ptr æ¯æ
- å ·ææ¾å¼å¯¹é½è¦æ±çåé 彿°
- variadic lock_guard
- cache line interface
types ä¸
- byte
- conjunction/disjunction/negation
- ç±»åç¹æ§ä¸çè¾ å©å鿍¡æ¿ xxx_v
- is_swappable
- is_invocable
- is_aggregate
- has_unique_object_representations.
algorithm ä¸
容å¨åº ç¸å ³
- map/set ä¸ç extract æ¹æ³å merge æ¹æ³
- map/unordered_map ä¸ç try_emplace æ¹æ³å insert_or_assign æ¹æ³
- è¿ç»è¿ä»£å¨
- éæå彿° size/empty/data
numeric ä¸
å ¶ä»
- is_always_lock_free
- uncaught_exceptions
- timespec_get
- duration å time_point ç忴彿°