C++ åèæå
- C++11
- C++14
- C++17
- C++20
- C++ ç¼è¯å¨æ¯ææ åµè¡¨
- ç¬ç«ä¸å®¿ä¸»å®ç°
- C++ è¯è¨
- C++ å ³é®è¯
- é¢å¤çå¨
- C++ æ ååºå¤´æä»¶
- å ·åè¦æ±
- åè½ç¹æ§æµè¯ (C++20)
- å·¥å ·åº
- std::apply
- åºç¹æ§æµè¯å® (C++20)
- ç¨åºæ¯æå·¥å ·
- std::initializer_list
- 彿°å¯¹è±¡
- std::hash
- std::pair
- std::tuple
- std::optional
- std::any
- std::variant
- æ ¼å¼ååº (C++20)
- std::integer_sequence
- std::exchange
- std::make_from_tuple
- std::launder
- std::to_chars
- std::from_chars
- std::as_const
- std::source_location
- å忰彿°
- std::bitset
- std::cmp_equal, cmp_not_equal, cmp_less, cmp_greater, cmp_less_equal, cmp_greater_equal
- std::in_range
- std::declval
- std::forward
- std::move
- std::move_if_noexcept
- std::chars_format
- std::piecewise_construct_t
- std::piecewise_construct
- std::in_place, std::in_place_type, std::in_place_index, std::in_place_t, std::in_place_type_t, std::in_place_index_t
- 注é
- ç±»åæ¯æï¼åºæ¬ç±»åãRTTIãç±»åç¹æ§ï¼
- æ¦å¿µåº (C++20)
- é误å¤ç
- 卿å å管ç
- æ¥æåæ¶é´å·¥å ·
- å符串åº
- 容å¨åº
- è¿ä»£å¨åº
- èå´åº (C++20)
- ç®æ³åº
- æ°å¼åº
- è¾å ¥/è¾åºåº
- æä»¶ç³»ç»åº
- æ¬å°ååº
- æ£å表达å¼åº
- ååæä½åº
- çº¿ç¨æ¯æåº
- å®éªæ§ C++ ç¹æ§
- æç¨çèµæº
- ç´¢å¼
- std 符å·ç´¢å¼
- åç¨æ¯æ (C++20)
- C++ å ³é®è¯
ä½ç½®ï¼é¦é¡µ > C++ åèæå > å·¥å ·åº
å·¥å ·åº
C++ å å«äºåç§å·¥å ·åºï¼æä¾äºè¯¸å¦ä½è®¡æ°åé¨å彿°åºç¨çåè½ãè¿äºåºå¤§è´å¯ä»¥å为两类ï¼
- è¯è¨æ¯æåº
- éç¨åº
è¯è¨æ¯æ
è¯è¨æ¯æåºä¸ææä¾çç±»å彿°ä¸è¯è¨ç¹æ§ç´§å¯ç¸å ³ï¼ç¨ä»¥æ¯æè¯è¨ä¸çä¸äºå¸¸è§çæ¯ç¨æ³ã
ç±»åæ¯æ
åºæ¬ç±»åï¼å¦ std::size_t ã std::nullptr_t ï¼ã RTTI ï¼å¦ std::type_info ï¼ãç±»åç¹æ§ï¼å¦ std::is_integral ã std::rank ï¼ã
卿å å管ç
æºè½æéï¼å¦ std::shared_ptr ï¼ãåé å¨ï¼å¦ std::allocator æ std::pmr::memory_resource ï¼ãC 飿 ¼å å管çï¼å¦ std::malloc ï¼ã
é误å¤ç
å¼å¸¸ï¼å¦ std::exceptionãstd::terminate ï¼ãæè¨ï¼å¦ assert ï¼ã
åå§åå¨å表
| å®ä¹äºå¤´æä»¶
<initializer_list> | |
| (C++11) |
å
许使ç¨åå§åå¨åè¡¨è¯æ³åå§åéèåä½ç±»å (类模æ¿) |
å忰彿°
æ¯ææ¥åä»»ææ°éåæ°ç彿°ï¼ä¾å¦éè¿ va_start ã va_arg ã va_end ï¼ã
å®ç°å±æ§å¤´æä»¶ <version> æä¾å ³äº C++ æ ååºçå®ç°ä¾èµä¿¡æ¯ï¼ä¾å¦çæ¬å·ååè¡æ¥æï¼ãå®äº¦å®ä¹ç¹æ§æµè¯å®ã æºç ä¿¡æ¯æè·
|
(C++20 èµ·) | ||||
éç¨å·¥å ·
ç¨åºå·¥å ·
ç»æ¢ï¼å¦ std::abort ã std::atexit ï¼ãç¯å¢ï¼å¦ std::system ï¼ãä¿¡å·ï¼å¦ std::raise ï¼ã
æ¥æåæ¶é´
æ¶é´è·è¸ªï¼å¦ std::chrono::time_point ã std::chrono::duration ï¼ï¼ C 飿 ¼æ¥æåæ¶é´ï¼å¦ std::time ã std::clock ï¼ã
ä½éå
| å®ä¹äºå¤´æä»¶
<bitset> | |
| å®ç°å¸¸éé¿åº¦ç使°ç» (ç±») | |
彿°å¯¹è±¡
é¨å彿°åºç¨ï¼å¦ std::bind ï¼åç¸å ³å·¥å ·ï¼ç¨äºç»å®çå·¥å ·ï¼å¦ std::ref ä¸ std::placeholders ã夿彿°å è£ å¨ï¼ std::function ãé¢å®ä¹å½æ°å¯¹è±¡ï¼å¦ std::plus ã std::equal_to ï¼ãæ¹æ³å°å½æ°è½¬æ¢å¨ std::mem_fn ã
optional ã variant ä¸ any
| å®ä¹äºå¤´æä»¶
<optional> | |
| (C++17 èµ·) |
å¯è½æå¯è½ä¸ä¿æä¸ä¸ªå¯¹è±¡çå
è£
å¨ (类模æ¿) |
| Â | |
| å®ä¹äºå¤´æä»¶
<variant> | |
| (C++17 èµ·) |
ç±»åå®å
¨çå¯è¾¨è¯èåä½ (类模æ¿) |
| Â | |
| å®ä¹äºå¤´æä»¶
<any> | |
| (C++17 èµ·) |
å¯ä¿æä»»ä½å¯å¤å¶æé (CopyConstructible) ç±»åçå®ä¾ç对象ã (ç±») |
| Â | |
| å®ä¹äºå¤´æä»¶
<utility> | |
| åä½æé æ ç¾ (类模æ¿) | |
对ä¸å ç»
| å®ç°äºå
ç»ï¼å³ä¸å¯¹å¼ (类模æ¿) | |
| (C++11) |
å®ç°åºå®å¤§å°ç容å¨ï¼å®ä¿æç±»åå¯ä»¥ç¸å¼çå
ç´ (类模æ¿) |
| (C++17) |
以ä¸ä¸ªå®åçå
ç»æ¥è°ç¨å½æ° (彿°æ¨¡æ¿) |
| (C++17) |
以ä¸ä¸ªå®åå
ç»æé 对象 (彿°æ¨¡æ¿) |
| (C++11) |
ç¨äºä¸ºé段æé éæ©æ£ç¡®å½æ°éè½½çæ ç¾ç±»å (ç±») |
| (C++11) |
ç¨äºä¸ºé段æé ç彿°æ¶æ§ä¹ç piecewise_construct_t ç±»åç对象 (常é) |
| (C++14) |
å®ç°ç¼è¯æ¶æ´æ°æ°å (类模æ¿) |
swap ã forward ä¸ move
| å®ä¹äºå¤´æä»¶
<utility> | |
| 交æ¢ä¸¤ä¸ªå¯¹è±¡çå¼ (彿°æ¨¡æ¿) | |
| (C++14) |
å°å®åæ¿æ¢ä¸ºä¸ä¸ªæ°å¼ï¼å¹¶è¿åå
¶å
åå¼ (彿°æ¨¡æ¿) |
| (C++11) |
转åä¸ä¸ªå½æ°å®å (彿°æ¨¡æ¿) |
| (C++11) |
è·å¾å³å¼å¼ç¨ (彿°æ¨¡æ¿) |
| (C++11) |
è¥ç§»å¨æé 彿°ä¸æåºåè·å¾å³å¼å¼ç¨ (彿°æ¨¡æ¿) |
| å®ä¹äºå¤´æä»¶
<concepts> | |
| (C++20) |
交æ¢ä¸¤ä¸ªå¯¹è±¡çå¼ (å®å¶ç¹å¯¹è±¡) |
ç±»åè¿ç®
| å®ä¹äºå¤´æä»¶
<utility> | |
| (C++11) |
è·åå°å
¶å®åçå¼ç¨ï¼ç¨äºä¸æ±å¼è¯å¢ä¸ (彿°æ¨¡æ¿) |
| (C++17) |
è·å¾å°å
¶å®åç const å¼ç¨ (彿°æ¨¡æ¿) |
| Â | |
| å®ä¹äºå¤´æä»¶
<new> | |
| (C++17) |
æéä¼åå±é (彿°æ¨¡æ¿) |
å ³ç³»è¿ç®ç¬¦ä¸æ¯è¾
| å®ä¹äºå¤´æä»¶
<compare> | |
| æå®è¿ç®ç¬¦ <=> å¨ç»å®ç±»åä¸äº§çä¸è´çç»æ (æ¦å¿µ) | |
| (C++20) |
ä¸è·¯æ¯è¾çç»æç±»åï¼æ¯æææ 6 ç§è¿ç®ç¬¦ï¼ä¸å¯æ¿æ¢ï¼å¹¶å
许ä¸å¯æ¯è¾çå¼ (ç±») |
| (C++20) |
ä¸è·¯æ¯è¾çç»æç±»åï¼æ¯æææ 6 ç§è¿ç®ç¬¦ä¸ä¸å¯æ¿æ¢ (ç±») |
| (C++20) |
ä¸è·¯æ¯è¾çç»æç±»åï¼æ¯æææ 6 ç§è¿ç®ç¬¦ä¸å¯æ¿æ¢ (ç±») |
| å
·åæ¯è¾å½æ° (彿°) | |
| (C++20) |
å®ç° x <=> y ç彿°å¯¹è±¡ (ç±») |
| (C++20) |
è·å¾ä¸è·¯æ¯è¾è¿ç®ç¬¦ <=> å¨ç»å®ç±»åä¸çç»æ (类模æ¿) |
| (C++20) |
ç»å®çå
¨é¨ç±»åé½è½è½¬æ¢å°çæå¼ºæ¯è¾ç±»å« (类模æ¿) |
| (C++20) |
è¿è¡ä¸è·¯æ¯è¾å¹¶äº§ç std::strong_ordering ç±»åç»æ (å®å¶ç¹å¯¹è±¡) |
| (C++20) |
è¿è¡ä¸è·¯æ¯è¾å¹¶äº§ç std::weak_ordering ç±»åç»æ (å®å¶ç¹å¯¹è±¡) |
| (C++20) |
è¿è¡ä¸è·¯æ¯è¾å¹¶äº§ç std::partial_ordering ç±»åç»æ (å®å¶ç¹å¯¹è±¡) |
è¿è¡ä¸è·¯æ¯è¾å¹¶äº§ç std::strong_ordering ç±»åçç»æï¼å³ä½¿ operator<=> ä¸å¯ç¨ (å®å¶ç¹å¯¹è±¡) | |
| (C++20) |
è¿è¡ä¸è·¯æ¯è¾å¹¶äº§ç std::weak_ordering ç±»åçç»æï¼å³ä½¿ operator<=> ä¸å¯ç¨ (å®å¶ç¹å¯¹è±¡) |
è¿è¡ä¸è·¯æ¯è¾å¹¶äº§ç std::partial_ordering ç±»åçç»æï¼å³ä½¿ operator<=> ä¸å¯ç¨ (å®å¶ç¹å¯¹è±¡) | |
| Â | |
| å®ä¹äºå¤´æä»¶
<utility> | |
| å®ä¹äºå½å空é´
std::rel_ops | |
| (C++20 ä¸å¼ç¨) |
èªå¨çæåºäºç¨æ·å®ä¹ç operator== å operator< çæ¯è¾è¿ç®ç¬¦ (彿°æ¨¡æ¿) |
åçå符串转æ¢
é¤äº C++ I/O åºã C I/O åºã C++ å符串转æ¢å½æ°å C å符串转æ¢å½æ°æä¾çå¤æçæ¬å°ç¯å¢ä¾èµçåæå¨åæ ¼å¼åå¨å¤ï¼å¤´æä»¶ <charconv> æä¾å¯¹äºç®æ¯ç±»åçè½»éãä¸ä¾èµæ¬å°ç¯å¢ãä¸åé ã䏿åºãä» ä¾ ASCII çåæå¨åæ ¼å¼åå¨ã
| å®ä¹äºå¤´æä»¶
<charconv> | |
| (C++17) |
è½¬æ¢æ´æ°ææµ®ç¹å¼å°å符åºå (彿°) |
| (C++17) |
转æ¢å符åºåå°æ´æ°ææµ®ç¹å¼ (彿°) |
| (C++17) |
æå® std::to_chars å std::from_chars æç¨çæ ¼å¼ (æä¸¾) |
æ ¼å¼ååº (C++20 èµ·)
ç±»åå®å ¨çåç¬¦ä¸²æ ¼å¼åå·¥å ·ï¼ä¾å¦ std::format std::format_to ã
æ£åæ¯æ
| (C++11) |
æ£å彿°å¯¹è±¡ (类模æ¿) |