C++ åèæå
- C++11
- C++14
- C++17
- C++20
- C++ ç¼è¯å¨æ¯ææ åµè¡¨
- ç¬ç«ä¸å®¿ä¸»å®ç°
- C++ è¯è¨
- C++ å ³é®è¯
- é¢å¤çå¨
- C++ æ ååºå¤´æä»¶
- å ·åè¦æ±
- åè½ç¹æ§æµè¯ (C++20)
- å·¥å ·åº
- ç±»åæ¯æï¼åºæ¬ç±»åãRTTIãç±»åç¹æ§ï¼
- std::result_of, std::invoke_result
- std::integral_constant
- std::is_constant_evaluated
- std::max_align_t
- offsetof
- NULL
- std::bad_typeid
- std::bad_cast
- std::numeric_limits
- std::type_info
- std::ptrdiff_t
- std::byte
- std::conjunction
- std::disjunction
- std::negation
- std::is_swappable_with, std::is_swappable, std::is_nothrow_swappable_with, std::is_nothrow_swappable
- std::is_invocable, std::is_invocable_r, std::is_nothrow_invocable, std::is_nothrow_invocable_r
- std::is_aggregate
- std::has_unique_object_representations
- std::endian
- std::remove_cvref
- std::type_index
- C æ°å¼æéæ¥å£
- å®å®½æ´æ°ç±»å (C++11 èµ·)
- std::is_bounded_array
- std::is_unbounded_array
- std::size_t
- std::nullptr_t
- std::is_integral
- std::rank
- std::is_void
- std::is_null_pointer
- std::is_array
- std::is_pointer
- std::is_enum
- std::is_union
- std::is_class
- std::is_function
- std::is_object
- std::is_scalar
- std::is_compound
- std::is_floating_point
- std::is_fundamental
- std::is_arithmetic
- std::is_reference
- std::is_lvalue_reference
- std::is_rvalue_reference
- std::is_member_pointer
- std::is_member_object_pointer
- std::is_member_function_pointer
- std::is_const
- std::is_volatile
- std::is_empty
- std::is_polymorphic
- std::is_final
- std::is_abstract
- std::is_trivial
- std::is_trivially_copyable
- std::is_standard_layout
- std::is_literal_type
- std::is_pod
- std::is_signed
- std::is_unsigned
- std::is_constructible, std::is_trivially_constructible, std::is_nothrow_constructible
- std::is_default_constructible, std::is_trivially_default_constructible, std::is_nothrow_default_constructible
- std::is_copy_constructible, std::is_trivially_copy_constructible, std::is_nothrow_copy_constructible
- std::is_move_constructible, std::is_trivially_move_constructible, std::is_nothrow_move_constructible
- std::is_assignable, std::is_trivially_assignable, std::is_nothrow_assignable
- std::is_copy_assignable, std::is_trivially_copy_assignable, std::is_nothrow_copy_assignable
- std::is_move_assignable, std::is_trivially_move_assignable, std::is_nothrow_move_assignable
- std::is_destructible, std::is_trivially_destructible, std::is_nothrow_destructible
- std::has_virtual_destructor
- std::is_same
- std::is_base_of
- std::is_convertible, std::is_nothrow_convertible
- std::is_layout_compatible
- std::is_pointer_interconvertible_base_of
- std::is_pointer_interconvertible_with_class
- std::is_corresponding_member
- std::alignment_of
- std::extent
- std::remove_cv, std::remove_const, std::remove_volatile
- std::add_cv, std::add_const, std::add_volatile
- std::make_signed
- std::make_unsigned
- std::remove_reference
- std::add_lvalue_reference, std::add_rvalue_reference
- std::remove_pointer
- std::add_pointer
- std::remove_extent
- std::remove_all_extents
- std::aligned_storage
- std::aligned_union
- std::decay
- std::enable_if
- std::void_t
- std::conditional
- std::common_type
- std::common_reference
- std::underlying_type
- std::type_identity
- 注é
- æ¦å¿µåº (C++20)
- é误å¤ç
- 卿å å管ç
- æ¥æåæ¶é´å·¥å ·
- å符串åº
- 容å¨åº
- è¿ä»£å¨åº
- èå´åº (C++20)
- ç®æ³åº
- æ°å¼åº
- è¾å ¥/è¾åºåº
- æä»¶ç³»ç»åº
- æ¬å°ååº
- æ£å表达å¼åº
- ååæä½åº
- çº¿ç¨æ¯æåº
- å®éªæ§ C++ ç¹æ§
- æç¨çèµæº
- ç´¢å¼
- std 符å·ç´¢å¼
- åç¨æ¯æ (C++20)
- C++ å ³é®è¯
ä½ç½®ï¼é¦é¡µ > C++ åèæå > ç±»åæ¯æï¼åºæ¬ç±»åãRTTIãç±»åç¹æ§ï¼
ç±»åæ¯æï¼åºæ¬ç±»åãRTTIãç±»åç¹æ§ï¼
ï¼ç±»åç³»ç»ç»¼è¿°å¯åé ç±»åï¼
åºæ¬ç±»å
è¯è¨å®ä¹çåºç¡ç±»å
éå æ§åºæ¬ç±»ååå®
| å®ä¹äºå¤´æä»¶
<cstddef> | |
| sizeof è¿ç®ç¬¦è¿åçæ ç¬¦å·æ´æ°ç±»å (typedef) | |
| å¨ä¸¤ä¸ªæéç¸åæ¶è¿åçæç¬¦å·æ´æ°ç±»å (typedef) | |
| (C++11) |
空æéåé¢é nullptr çç±»å (typedef) |
| å®ç°å®ä¹ç空æé常é (å®å¸¸é) | |
| (C++11) |
å
·æä¸å°äºä»»ä½åºç¡ç±»åçå
å对é½éæ±çå¹³å¡ç±»å (typedef) |
| 仿 åå¸å±ç±»åçèµ·å§å°å
¶æå®æåçåèåç§»é (å®å½æ°) | |
| (C++17) |
åèç±»å (æä¸¾) |
| Â | |
| å®ä¹äºå¤´æä»¶
<cstdbool> (C++20 å) | |
| å®ä¹äºå¤´æä»¶
<stdbool.h> | |
| __bool_true_false_are_defined (C++11) |
C å
¼å®¹ç¨å®å¸¸éï¼å±å¼ææ´æ°å¸¸é1 (å®å¸¸é) |
| Â | |
| å®ä¹äºå¤´æä»¶
<cstdalign> (C++20 å) | |
| å®ä¹äºå¤´æä»¶
<stdalign.h> | |
| __alignas_is_defined (C++11) |
C å
¼å®¹ç¨å®å¸¸éï¼å±å¼ææ´æ°å¸¸é 1 (å®å¸¸é) |
å®å®½æ´æ°(C++11 èµ·)
æ°å¼æé
| å®ä¹äºå¤´æä»¶
<limits> | |
| æä¾æ¥è¯¢ææåºç¡æ°å¼ç±»åçæ§è´¨çæ¥å£ã (类模æ¿) | |
C æ°å¼æéæ¥å£
è¿è¡æ¶ç±»åè¯å«
| å®ä¹äºå¤´æä»¶
<typeinfo> | |
| 嫿æä¸ªç±»åçä¿¡æ¯ï¼ç±å®ç°çæã è¿æ¯ typeid è¿ç®ç¬¦æè¿åçç±»ã (ç±») | |
| å½ typeid 表达å¼ä¸çå®åä¸ºç©ºå¼æ¶æåºçå¼å¸¸ (ç±») | |
| ç±éæ³ç dynamic_cast è¡¨è¾¾å¼æåºçå¼å¸¸ï¼å³å¼ç¨ç±»å转å失败 (ç±») | |
| Â | |
| å®ä¹äºå¤´æä»¶
<typeindex> | |
| (C++11) |
é对 type_info 对象çå
è£
ï¼å®è½ç¨ä½å
³è容å¨åæ åºå
³è容å¨çç´¢å¼ã (ç±») |
ç±»åç¹æ§(C++11 èµ·)
ç±»åç¹æ§å®ä¹ä¸ä¸ªç¼è¯æ¶åºäºæ¨¡æ¿çç»æï¼ä»¥æ¥è¯¢æä¿®æ¹ç±»åç屿§ã
è¯å¾ç¹åå®ä¹äº <type_traits> 头æä»¶ç模æ¿å¯¼è´æªå®ä¹è¡ä¸ºï¼é¤äº std::common_type å¯ä¾ç
§å
¶ææè¿°ç¹åã
å®ä¹äº<type_traits>头æä»¶ç模æ¿å¯ä»¥ç¨ä¸å®æ´ç±»åå®ä¾åï¼é¤éå¦å¤ææå®ï¼å°½ç®¡éå¸¸ç¦æ¢ä»¥ä¸å®æ´ç±»åå®ä¾åæ ååºæ¨¡æ¿ã
ç±»å屿§
| å®ä¹äºå¤´æä»¶
<type_traits> | |
åºç¡ç±»åç±»å« | |
| (C++11) |
æ£æ¥ç±»åæ¯å¦ä¸º void (类模æ¿) |
| (C++14) |
æ£æ¥ç±»åæ¯å¦ä¸º std::nullptr_t (类模æ¿) |
| (C++11) |
æ£æ¥ç±»åæ¯å¦ä¸ºæ´å (类模æ¿) |
| (C++11) |
æ£æ¥ç±»åæ¯å¦æ¯æµ®ç¹ç±»å (类模æ¿) |
| (C++11) |
æ£æ¥ç±»åæ¯å¦æ¯æ°ç»ç±»å (类模æ¿) |
| (C++11) |
æ£æ¥ç±»åæ¯å¦æ¯æä¸¾ç±»å (类模æ¿) |
| (C++11) |
æ£æ¥ç±»åæ¯å¦ä¸ºèåä½ç±»å (类模æ¿) |
| (C++11) |
æ£æ¥ç±»åæ¯å¦éèå类类å (类模æ¿) |
| (C++11) |
æ£æ¥æ¯å¦ä¸ºå½æ°ç±»å (类模æ¿) |
| (C++11) |
æ£æ¥ç±»åæ¯å¦ä¸ºæéç±»å (类模æ¿) |
| (C++11) |
æ£æ¥ç±»åæ¯å¦ä¸ºå·¦å¼å¼ç¨ (类模æ¿) |
| (C++11) |
æ£æ¥ç±»åæ¯å¦ä¸ºå³å¼å¼ç¨ (类模æ¿) |
| (C++11) |
æ£æ¥ç±»åæ¯å¦ä¸ºæåééææå对象çæé (类模æ¿) |
| (C++11) |
æ£æ¥ç±»åæ¯å¦ä¸ºæåééææå彿°çæé (类模æ¿) |
å¤åç±»åç±»å« | |
| (C++11) |
æ£æ¥æ¯å¦æ¯åºç¡ç±»å (类模æ¿) |
| (C++11) |
æ£æ¥ç±»åæ¯å¦ä¸ºç®æ¯ç±»å (类模æ¿) |
| (C++11) |
æ£æ¥ç±»åæ¯å¦ä¸ºæ éç±»å (类模æ¿) |
| (C++11) |
æ£æ¥æ¯å¦æ¯å¯¹è±¡ç±»å (类模æ¿) |
| (C++11) |
æ£æ¥æ¯å¦ä¸ºå¤åç±»å (类模æ¿) |
| (C++11) |
æ£æ¥ç±»åæ¯å¦ä¸ºå·¦å¼å¼ç¨æå³å¼å¼ç¨ (类模æ¿) |
| (C++11) |
æ£æ¥ç±»åæ¯å¦ä¸ºæåééææå彿°æå¯¹è±¡çæéç±»å (类模æ¿) |
ç±»å屿§ | |
| (C++11) |
æ£æ¥ç±»åæ¯å¦ä¸º const éå® (类模æ¿) |
| (C++11) |
æ£æ¥ç±»åæ¯å¦ä¸º volatile éå® (类模æ¿) |
| (C++11) |
æ£æ¥ç±»åæ¯å¦å¹³å¡ (类模æ¿) |
| (C++11) |
æ£æ¥ç±»åæ¯å¦å¯å¹³å¡å¤å¶ (类模æ¿) |
| (C++11) |
æ£æ¥æ¯å¦æ¯ä¸ä¸ªæ åå¸å±ç±»å (类模æ¿) |
| (C++11)(C++20 ä¸å¼ç¨) |
æ£æ¥ç±»åæ¯å¦ä¸ºç®æ§æ°æ®ï¼PODï¼ç±»å (类模æ¿) |
| (C++11)(C++17 ä¸å¼ç¨)(C++20 ä¸ç§»é¤) |
æ£æ¥ç±»åæ¯å¦ä¸ºåé¢ç±»å (类模æ¿) |
| æ£æ¥æ¯å¦è¯¥ç±»åå¯¹è±¡çæ¯ä¸ä½é½å¯¹å
¶å¼æè´¡ç® (类模æ¿) | |
| æ£æ¥ç±»åæ¯å¦æ¥æå¼ºç»æç¸çæ§ (类模æ¿) | |
| (C++11) |
æ£æ¥ç±»åæ¯å¦ä¸ºç±»ï¼ä½éèåä½ï¼ç±»å䏿 ééææ°æ®æå (类模æ¿) |
| (C++11) |
æ£æ¥ç±»åæ¯å¦ä¸ºå¤æç±»ç±»å (类模æ¿) |
| (C++11) |
æ£æ¥ç±»åæ¯å¦ä¸ºæ½è±¡ç±»ç±»å (类模æ¿) |
| (C++14) |
æ£æ¥ç±»åæ¯å¦ä¸º final 类类å (类模æ¿) |
| (C++17) |
æ£æ¥ç±»åæ¯å¦èåç±»å (类模æ¿) |
| (C++11) |
æ£æ¥ç±»åæ¯å¦ä¸ºæç¬¦å·ç®æ¯ç±»å (类模æ¿) |
| (C++11) |
æ£æ¥ç±»åæ¯å¦ä¸ºæ 符å·ç®æ¯ç±»å (类模æ¿) |
| (C++20) |
æ£æ¥ç±»åæ¯å¦ä¸ºæå·²ç¥è¾¹ççæ°ç»ç±»å (类模æ¿) |
| (C++20) |
æ£æ¥ç±»åæ¯å¦ä¸ºææªç¥è¾¹ççæ°ç»ç±»å (类模æ¿) |
忝ææä½ | |
| (C++11)(C++11)(C++11) |
æ£æ¥ç±»åæ¯å¦å¸¦æé对ç¹å®å®åçæé 彿° (类模æ¿) |
| æ£æ¥ç±»åæ¯å¦æé»è®¤æé 彿° (类模æ¿) | |
| (C++11)(C++11)(C++11) |
æ£æ¥ç±»åæ¯å¦æ¥æå¤å¶æé 彿° (类模æ¿) |
| (C++11)(C++11)(C++11) |
æ£æ¥ç±»åæ¯å¦è½ä»å³å¼å¼ç¨æé (类模æ¿) |
| (C++11)(C++11)(C++11) |
æ£æ¥ç±»åæ¯å¦æ¥æé对ç¹å®å®åçèµå¼è¿ç®ç¬¦ (类模æ¿) |
| (C++11)(C++11)(C++11) |
æ£æ¥ç±»åæ¯å¦æ¥æå¤å¶èµå¼è¿ç®ç¬¦ (类模æ¿) |
| (C++11)(C++11)(C++11) |
æ£æ¥ç±»åæ¯å¦ææ¥æç§»å¨èµå¼è¿ç®ç¬¦ (类模æ¿) |
| (C++11)(C++11)(C++11) |
æ£æ¥ç±»åæ¯å¦æ¥ææªè¢«å¼ç½®çææå½æ° (类模æ¿) |
| (C++11) |
æ£æ¥ç±»åæ¯å¦æ¥æèææå½æ° (类模æ¿) |
| (C++17)(C++17)(C++17)(C++17) |
æ£æ¥ä¸ä¸ªç±»åç对象æ¯å¦è½ä¸åç±»åæä¸åç±»åçå¯¹è±¡äº¤æ¢ (类模æ¿) |
屿§æ¥è¯¢ | |
| (C++11) |
è·åç±»åç对é½è¦æ± (类模æ¿) |
| (C++11) |
è·åæ°ç»ç±»åçç»´æ° (类模æ¿) |
| (C++11) |
è·åæ°ç»ç±»å卿å®ç»´åº¦çå¤§å° (类模æ¿) |
ç±»åå ³ç³» | |
| (C++11) |
æ£æ¥ä¸¤ä¸ªç±»åæ¯å¦ç¸å (类模æ¿) |
| (C++11) |
æ£æ¥ä¸ä¸ªç±»åæ¯å¦æ´¾çèªå¦ä¸ä¸ªç±»å (类模æ¿) |
| (C++11)(C++20) |
æ£æ¥æ¯å¦è½è½¬æ¢ä¸ä¸ªç±»å为å¦ä¸ç±»å (类模æ¿) |
| æ£æ¥ç±»åè½å¦ä»¥ç»å®çå®åç±»åè°ç¨ï¼å¦å以 std::invokeï¼ (类模æ¿) | |
| (C++20) |
æ£æ¥äºä¸ªç±»åæ¯å¦å¸å±å
¼å®¹ (类模æ¿) |
| æ£æ¥ä¸ä¸ªç±»åæ¯å¦ä¸ºå¦ä¸ç±»åçæéå¯äºè½¬æ¢ï¼èµ·å§ï¼åºç±» (类模æ¿) | |
| æ£æ¥ä¸ä¸ªç±»åç对象æ¯å¦ä¸è¯¥ç±»åçæå®å对象æéå¯äºè½¬æ¢ (彿°æ¨¡æ¿) | |
| (C++20) |
æ£æ¥äºä¸ªæå®æåæ¯å¦å¨äºä¸ªæå®ç±»åä¸çå
Œ
±èµ·å§åºåä¸å½¼æ¤å¯¹åº (彿°æ¨¡æ¿) |
ç±»åä¿®æ¹
ç±»åä¿®æ¹æ¨¡æ¿éè¿åºç¨ä¿®æ¹å°æ¨¡æ¿åæ°ï¼å建æ°ç±»åå®ä¹ãç»æç±»åå¯ä»¥éè¿æå typedef type 访é®ã
| å®ä¹äºå¤´æä»¶
<type_traits> | |
常-æåæ§æå®å¨ | |
| (C++11)(C++11)(C++11) |
ä»ç»å®ç±»åç§»é¤ const æ/ä¸ volatile éå®ç¬¦ (类模æ¿) |
| (C++11)(C++11)(C++11) |
æ·»å const æ/ä¸ volatile éå®ç¬¦å°ç»å®ç±»å (类模æ¿) |
å¼ç¨ | |
| (C++11) |
ä»ç»å®ç±»åç§»é¤å¼ç¨ (类模æ¿) |
| (C++11)(C++11) |
åç»å®ç±»åæ·»å 左弿å³å¼å¼ç¨ (类模æ¿) |
æé | |
| (C++11) |
ç§»é¤ç»å®ç±»åçä¸å±æé (类模æ¿) |
| (C++11) |
对ç»å®ç±»åæ·»å ä¸å±æé (类模æ¿) |
符å·ä¿®æ¹å¨ | |
| (C++11) |
使ç»å®çæ´åç±»åæç¬¦å· (类模æ¿) |
| (C++11) |
使ç»å®çæ´åç±»åæ ç¬¦å· (类模æ¿) |
æ°ç» | |
| (C++11) |
ä»ç»å®æ°ç»ç±»åç§»é¤ä¸ä¸ªç»´åº¦ (类模æ¿) |
| (C++11) |
ç§»é¤ç»å®æ°ç»ç±»åçææç»´åº¦ (类模æ¿) |
æé¡¹åæ¢
| å®ä¹äºå¤´æä»¶
<type_traits> | |
| (C++11) |
å®ä¹éäºç¨ä½ç»å®å¤§å°çç±»åçæªåå§ååå¨çç±»å (类模æ¿) |
| (C++11) |
å®ä¹éäºç¨ä½ææç»å®ç±»åçæªåå§ååå¨çç±»å (类模æ¿) |
| (C++11) |
宿½å½æå¼ä¼ éå®åç»å½æ°æ¶æè¿è¡çç±»å忢 (类模æ¿) |
| (C++20) |
å° std::remove_cv ä¸ std::remove_reference ç»å (类模æ¿) |
| (C++11) |
æ ¹æ®ç¼è¯æå¸å°å¸¸ééèä¸ä¸ªå½æ°éè½½ææ¨¡æ¿ç¹å (类模æ¿) |
| (C++11) |
åºäºç¼è¯æ¶å¸å°å¼éæ©ä¸ä¸ªç±»åæå¦ä¸ä¸ª (类模æ¿) |
| (C++11) |
ç¡®å®ä¸ç»ç±»åçå
Œ
±ç±»å (类模æ¿) |
| ç¡®å®ç±»åç»çå
±ç¨å¼ç¨ç±»å (类模æ¿) | |
| (C++11) |
è·åç»å®æä¸¾ç±»åçåºå±æ´æ°ç±»å (类模æ¿) |
| (C++11)(C++20 ä¸ç§»é¤)(C++17) |
æ¨å¯¼ä»¥ä¸ç»å®åè°ç¨ä¸ä¸ªå¯è°ç¨å¯¹è±¡çç»æç±»å (类模æ¿) |
| (C++17) |
void ååå«åæ¨¡æ¿ (å«å模æ¿) |
| (C++20) |
è¿å䏿´æ¹çç±»åå®å (类模æ¿) |
ç¹æ§ä¸çè¿ç®
| å®ä¹äºå¤´æä»¶
<type_traits> | |
| (C++17) |
ååçé»è¾ä¸å
彿° (类模æ¿) |
| (C++17) |
ååçé»è¾æå
彿° (类模æ¿) |
| (C++17) |
é»è¾éå
彿° (类模æ¿) |
è¾ å©ç±»
| å®ä¹äºå¤´æä»¶
<type_traits> | |
| (C++11)(C++17) |
å
·ææå®å¼çæå®ç±»åçç¼è¯æå¸¸é (类模æ¿) |
æ åæä¾ std::integral_constant 对类å bool çäºä¸ªç¹åï¼
| å®ä¹äºå¤´æä»¶
<type_traits> | |
| Â | |
| ç±»å | å®ä¹ |
true_type
|
std::integral_constant<bool, true> |
false_type
|
std::integral_constant<bool, false> |
叏鿱å¼è¯å¢ (C++20 èµ·)
| å®ä¹äºå¤´æä»¶
<type_traits> | |
| (C++20) |
æ£æµè°ç¨æ¯å¦å¨å¸¸éæ±å¼çè¯å¢å
åç (彿°) |