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++20
C++20
C++ æ åçä¸ä¸è½®ä¸»è¦ä¿®è®¢
以ä¸ç¹æ§å³å°è¢«åå ¥ C++20 ä¸ï¼
- ä» åç¨, 模å, 约æä¸æ¦å¿µ, abbreviated function templates ææ¯è§èä¸,
- ä» èå´, ç»ä¸å®¹å¨æ¦é¤ (std::erase/std::erase_if) ææ¯è§èä¸
æ°çè¯è¨ç¹æ§
- åè½ç¹æ§æµè¯
- ä¸è·¯æ¯è¾ è¿ç®ç¬¦ <=> å operator==() = default
- ææ´¾åå§åå¨
- åºäºèå´ç for å¾ªç¯ ä¸çåå§åè¯å¥ååå§åå¨
- char8_t
-
[[no_unique_address]] -
[[likely]] -
[[unlikely]] - lambda æè· ä¸çå å±å¼
- åæ¶äºå¨å¤ç§ä¸ä¸æè¯å¢ä¸ï¼ä½¿ç¨
typenameå ³é®å以æ¶é¤ç±»åæ§ä¹çè¦æ± - consteval, constinit
- æ´å®½æ¾ç constexpr è¦æ±
- signed integers are 2's complement
- 使ç¨åæ¬å·çèååå§å
- array new 坿¨å¯¼æ°ç»é¿åº¦
- åç¨
- 模å
- æ¦å¿µ
- abbreviated function templates
æ°çåºç¹æ§
æ°ç头æä»¶
- <concepts>
- <coroutine>
- <compare>
- <version>
- <source_location>
- <format>
- <span>
- <ranges>
- <bit>
- <numbers>
- <syncstream>
çº¿ç¨æ¯æåºä¸ï¼
åºç¹æ§
- æ ¼å¼ååº
- æ¥å å æ¶åº åº
- std::source_location
- std::span
- std::endian
- é对æ°ç»ç make_shared æ¯æ
- std::remove_cvref
- std::to_address
- æµ®ç¹ç±»åå shared_ptr çåå对象
- std::barrier, std::latch åä¿¡å·é
- std::jthread å线ç¨åæ¢ç±»
-
<version> - std::osyncstream
- std::u8string åå ¶ä» char8_t ç使ç¨
- <algorithm>, <utility>, <complex> 头æä»¶ä¸è®¾æ½ç constexpr å
- std::string(_view)::starts_with å ends_with
- assume_aligned
- bind_front
- c8rtomb/mbrtoc8
- make_obj_using_allocator ç
- make_shared_default_init/make_unique_default_init
- unordered_map ç容å¨ä¸çåç§æ¥æ¾æ¹æ³
- std::polymoprhic_allocator<> çå ¨ç¹å
- std::execution::unseq
- std::midpoint å std::lerp
- std::ssize. std::is_bounded_array
- Ranges, ç»ä¸å®¹å¨æ¦é¤ (std::erase/std::erase_if)
- æ°å¦å¸¸æ°