C++ åèæå
- C++11
- C++14
- C++17
- C++20
- C++ ç¼è¯å¨æ¯ææ åµè¡¨
- ç¬ç«ä¸å®¿ä¸»å®ç°
- C++ è¯è¨
- C++ å ³é®è¯
- é¢å¤çå¨
- C++ æ ååºå¤´æä»¶
- å ·åè¦æ±
- C++ å ·åè¦æ±ï¼ 彿°å¯¹è±¡ (FunctionObject)
- C++ å ·åè¦æ±ï¼ äºå è°è¯ (BinaryPredicate)
- C++ å ·åè¦æ±ï¼ å¯é»è®¤æé (DefaultConstructible)
- C++ å ·åè¦æ±ï¼ å¯å¤å¶èµå¼ (CopyAssignable)
- C++ å ·åè¦æ±ï¼ å¯å¤å¶æé (CopyConstructible)
- C++ å ·åè¦æ±ï¼ å¯ç§»å¨èµå¼ (MoveAssignable) (C++11 èµ·)
- C++ å ·åè¦æ±ï¼ å¯ç§»å¨æé (MoveConstructible) (C++11 èµ·)
- C++ å ·åè¦æ±ï¼ 坿æ (Destructible)
- C++ å ·åè¦æ±ï¼ å¯å¹³å¡å¤å¶ (TriviallyCopyable)
- C++ å ·åè¦æ±ï¼ å¯ç¸çæ¯è¾ (EqualityComparable)
- C++ å ·åè¦æ±ï¼ å¯å°äºæ¯è¾ (LessThanComparable)
- C++ å ·åè¦æ±ï¼ æ¯è¾ (Compare)
- C++ å ·åè¦æ±ï¼ åé¢ç±»å (LiteralType)
- C++ å ·åè¦æ±ï¼ ç®æ§æ°æ®ç±»å (PODType)
- C++ å ·åè¦æ±ï¼ å¹³å¡ç±»å (TrivialType)
- C++ å ·åè¦æ±ï¼ æ åå¸å±ç±»å (StandardLayoutType)
- C++ å ·åè¦æ±ï¼ éçååè¿ä»£å¨ (LegacyForwardIterator)
- C++ å ·åè¦æ±ï¼ å¯äº¤æ¢ (Swappable)
- C++ å ·åè¦æ±ï¼ å¼å¯äº¤æ¢ (ValueSwappable)
- C++ å ·åè¦æ±ï¼ å¯ç©ºæé (NullablePointer) (C++11 èµ·)
- C++ å ·åè¦æ±ï¼ æ£å (Hash)
- C++ å ·åè¦æ±ï¼ åé å¨ (Allocator)
- C++ å ·åè¦æ±ï¼ å¯è°ç¨ (Callable)
- C++ å ·åè¦æ±ï¼ è°è¯ (Predicate)
- C++ å ·åè¦æ±ï¼ å®¹å¨ (Container)
- C++ å ·åè¦æ±ï¼ åºåå®¹å¨ (SequenceContainer)
- C++ å ·åè¦æ±ï¼ è¿ç»å®¹å¨ (ContiguousContainer)
- C++ å ·åè¦æ±ï¼ å¯éå®¹å¨ (ReversibleContainer)
- C++ å ·åè¦æ±ï¼ å ³èå®¹å¨ (AssociativeContainer)
- C++ å ·åè¦æ±ï¼ å ·åé å¨å®¹å¨ (AllocatorAwareContainer)
- C++ å ·åè¦æ±ï¼ æ åºå ³èå®¹å¨ (UnorderedAssociativeContainer)
- C++ å ·åè¦æ±ï¼ å¯é»è®¤æå ¥ (DefaultInsertable)
- C++ å ·åè¦æ±ï¼ å¯å¤å¶æå ¥ (CopyInsertable)
- C++ å ·åè¦æ±ï¼ å¯ç§»å¨æå ¥ (MoveInsertable) (C++11 èµ·)
- C++ å ·åè¦æ±ï¼ å¯å°±ä½æé (EmplaceConstructible) (C++11 èµ·)
- C++ å ·åè¦æ±ï¼ 坿¦é¤ (Erasable)
- C++ å ·åè¦æ±ï¼ éçè¿ä»£å¨ (LegacyIterator)
- C++ å ·åè¦æ±ï¼ éçè¾åºè¿ä»£å¨ (LegacyOutputIterator)
- C++ å ·åè¦æ±ï¼ éçè¾å ¥è¿ä»£å¨ (LegacyInputIterator)
- C++ å ·åè¦æ±ï¼ éçååè¿ä»£å¨ (LegacyBidirectionalIterator)
- C++ å ·åè¦æ±ï¼ éçéæºè®¿é®è¿ä»£å¨ (LegacyRandomAccessIterator)
- C++ å ·åè¦æ±ï¼ éçè¿ç»è¿ä»£å¨ (LegacyContiguousIterator)
- C++ å ·åè¦æ±ï¼ 常é表达å¼è¿ä»£å¨ (ConstexprIterator)
- C++ å ·åè¦æ±ï¼ ææ ¼å¼è¾å ¥å½æ° (FormattedInputFunction)
- C++ å ·åè¦æ±ï¼ æ æ ¼å¼è¾å ¥å½æ° (UnformattedInputFunction)
- C++ å ·åè¦æ±ï¼ ææ ¼å¼è¾åºå½æ° (FormattedOutputFunction)
- C++ å ·åè¦æ±ï¼ æ æ ¼å¼è¾åºå½æ° (UnformattedOutputFunction)
- C++ å ·åè¦æ±ï¼ ç§ååºå (SeedSequence)
- C++ å ·åè¦æ±ï¼ éæºæ°å¼æ (RandomNumberEngine)
- C++ å ·åè¦æ±ï¼ éæºæ°åå¸ (RandomNumberDistribution)
- C++ å ·åè¦æ±ï¼ ååéæºä½çæå¨ (UniformRandomBitGenerator)
- C++ å ·åè¦æ±ï¼ éæºæ°å¼æéé å¨ (RandomNumberEngineAdaptor)
- C++ å ·åè¦æ±ï¼ åºæ¬å¯éå® (BasicLockable)
- C++ å ·åè¦æ±ï¼ å¯éå® (Lockable)
- C++ å ·åè¦æ±ï¼ å¯å®æ¶éå® (TimedLockable)
- C++ å ·åè¦æ±ï¼ äºæ¥ä½ (Mutex)
- C++ å ·åè¦æ±ï¼ 宿¶äºæ¥ä½ (TimedMutex)
- C++ å ·åè¦æ±ï¼ å ±äº«äºæ¥ä½ (SharedMutex)
- C++ å ·åè¦æ±ï¼ å ±äº«å®æ¶äºæ¥ä½ (SharedTimedMutex)
- C++ å ·åè¦æ±ï¼ å符ç¹å¾ (CharTraits)
- C++ å ·åè¦æ±ï¼ æ£å表达å¼ç¹å¾ (RegexTraits)
- C++ å ·åè¦æ±ï¼ 使©ç ç±»å (BitmaskType)
- C++ å ·åè¦æ±ï¼ æ°å¼ç±»å (NumericType)
- C++ å ·åè¦æ±ï¼ ä¸å ç±»åç¹å¾ (UnaryTypeTrait)
- C++ å ·åè¦æ±ï¼ äºå ç±»åç¹å¾ (BinaryTypeTrait)
- C++ å ·åè¦æ±ï¼ 忢ç¹å¾ (TransformationTrait)
- C++ å ·åè¦æ±ï¼ æ¶é (Clock)
- C++ å ·åè¦æ±ï¼ 平塿¶é (TrivialClock)
- 注é
- åè½ç¹æ§æµè¯ (C++20)
- å·¥å ·åº
- ç±»åæ¯æï¼åºæ¬ç±»åãRTTIãç±»åç¹æ§ï¼
- æ¦å¿µåº (C++20)
- é误å¤ç
- 卿å å管ç
- æ¥æåæ¶é´å·¥å ·
- å符串åº
- 容å¨åº
- è¿ä»£å¨åº
- èå´åº (C++20)
- ç®æ³åº
- æ°å¼åº
- è¾å ¥/è¾åºåº
- æä»¶ç³»ç»åº
- æ¬å°ååº
- æ£å表达å¼åº
- ååæä½åº
- çº¿ç¨æ¯æåº
- å®éªæ§ C++ ç¹æ§
- æç¨çèµæº
- ç´¢å¼
- std 符å·ç´¢å¼
- åç¨æ¯æ (C++20)
- C++ å ³é®è¯
ä½ç½®ï¼é¦é¡µ > C++ åèæå >å ·åè¦æ± > C++ å ·åè¦æ±ï¼ å符ç¹å¾ (CharTraits)
C++ å ·åè¦æ±ï¼ å符ç¹å¾ (CharTraits)
å符ç¹å¾ (CharTraits) æ¯ç¹æ§ç±»ï¼å®æ½è±¡ç»å®å符类åçåºæ¬å符åå符串æä½ã大夿°æ ååºå符串类åè¾å ¥/è¾åºç±»è¦æ±ä¼´é对åºå符模æ¿ç±»åå½¢åçå符ç¹å¾ (CharTraits) 模æ¿ç±»åã
è¦æ±
å符ç¹å¾ (CharTraits) ä¸çæä½åä¸å¯æåºå¼å¸¸ã
ç»å®
- CharT ï¼å符类å
- X ï¼ CharT çå符ç¹å¾ (CharTraits) ç±»å
- c, d ï¼ CharT ç±»åå¼
- p, q ï¼ const CharT* ç±»åå¼
- s ï¼ CharT* ç±»åå¼
- n, i, j ï¼ std::size_t ç±»åå¼
- e, f ï¼ X::int_type ç±»åå¼
- pos ï¼ X::pos_type ç±»åå¼
- state ï¼ X::state_type ç±»åå¼
- r ï¼ CharT ç±»åå·¦å¼
| è¡¨è¾¾å¼ | è¿åç±»å | è¯ä¹ | å¤ï»¿æï»¿åº¦ |
|---|---|---|---|
| X::char_type | CharT | ç¨äºæä»£å符类å | ç¼è¯æ¶ |
| X::int_type | è½ä¿æ X::char_type çææåæ³å¼å X::eof() çç±»å | ç¼è¯æ¶ | |
| X::off_type | 以 X 为è¾å ¥/è¾åºç±»ä¸çç¹æ§æ¨¡æ¿å½¢åæ¶ï¼è¥æ¤ç±»åé std::streamoff åå¼èµ·å®ç°å®ä¹è¡ä¸ºã | ç¼è¯æ¶ | |
| X::pos_type |
|
ç¼è¯æ¶ | |
| X::state_type | 坿æ (Destructible) ãå¯å¤å¶èµå¼ (CopyAssignable) ãå¯å¤å¶æé (CopyConstructible) ãå¯é»è®¤æé (DefaultConstructible) | ç¼è¯æ¶ | |
| X::eq(c,d) | bool | è¿åï¼æ¯å¦æ c å½åçäº d | å¸¸æ° |
| X::lt(c,d) | bool | è¿åï¼æ¯å¦æ c å½åå°äº d | å¸¸æ° |
| X::compare(p,q,n) | int | è¿åï¼
|
çº¿æ§ |
| X::length(p) | std::size_t | è¿åï¼ä½¿å¾ Xâ::âeq(p[i], CharT()) 为 true çæå° i | çº¿æ§ |
| Xâ::âfind(p,n,c) | const Xâ::âchar_type* | è¿åï¼
|
çº¿æ§ |
| Xâ::âmove(s,p,n) | Xâ::âchar_type* |
|
çº¿æ§ |
| Xâ::âcopy(s,p,n) | Xâ::âchar_type* |
|
çº¿æ§ |
| Xâ::âassign(r,d) | ï¼ä¸ä½¿ç¨ï¼ | èµå¼ r = d | 常é |
| Xâ::âassign(s,n,c) | Xâ::âchar_type* |
|
çº¿æ§ |
| Xâ::ânot_eof(e) | Xâ::âint_type | è¿åï¼
|
å¸¸æ° |
| Xâ::âto_char_type(e) | Xâ::âchar_type | è¿åï¼
|
å¸¸æ° |
| Xâ::âto_int_type(c) | Xâ::âint_type | è¿åï¼ X::to_char_type å X::eq_int_type çå®ä¹æå¶çº¦çæå¼ e | å¸¸æ° |
| Xâ::âeq_int_type(e,f) | bool |
|
å¸¸æ° |
| Xâ::âeof() | Xâ::âint_type | è¿åï¼ä½¿å¾ Xâ::âeq_int_type(e, Xâ::âto_int_type(c)) å¯¹äºææå¼ c 为 false çå¼ e | 常é |
æ ååº
ä¸åæ ååºç±»æ¨¡æ¿è¦æ±å符ç¹å¾ (CharTraits) ä½ä¸ºæ¨¡æ¿ç±»åå½¢åï¼
| åå¨å¹¶æä½å符åºå (类模æ¿) | |
| (C++17) |
åªè¯»çå符串è§å¾ (类模æ¿) |
| 管çä»»ææµç¼å² (类模æ¿) | |
| å
è£
ç»å®çæ½è±¡è®¾å¤ï¼std::basic_streambufï¼ å¹¶æä¾é«å±è¾å ¥æ¥å£ (类模æ¿) | |
| å®ç°é«å±æä»¶æµè¾å
¥æä½ (类模æ¿) | |
| å®ç°é«å±å符串æµè¾å
¥æä½ (类模æ¿) | |
| å
è£
ç»å®çæ½è±¡è®¾å¤ï¼std::basic_streambufï¼ å¹¶æä¾é«å±è¾åºæ¥å£ (类模æ¿) | |
| å®ç°é«å±æä»¶æµè¾åºæä½ (类模æ¿) | |
| å®ç°é«å±å符串æµè¾åºæä½ (类模æ¿) | |
| (C++20) |
忥è¾åºæµçå
è£
(类模æ¿) |
| å
è£
ç»å®çæ½è±¡è®¾å¤ï¼std::basic_streambufï¼ å¹¶æä¾é«å±è¾å ¥/è¾åºæ¥å£ (类模æ¿) | |
| å®ç°é«å±æä»¶æµè¾å
¥/è¾åºæä½ (类模æ¿) | |
| å®ç°é«å±å符串æµè¾å
¥/è¾åºæä½ (类模æ¿) | |
| ä» std::basic_istream 读åçè¾å
¥è¿ä»£å¨ (类模æ¿) | |
| åå
¥ std::basic_ostream çè¾åºè¿ä»£å¨ (类模æ¿) | |
| æ½è±¡åçè®¾å¤ (类模æ¿) | |
| æ½è±¡åçæä»¶è®¾å¤ (类模æ¿) | |
| å®ç°åçåç¬¦ä¸²è®¾å¤ (类模æ¿) | |
| (C++20) |
忥è¾åºè®¾å¤çå
è£
(类模æ¿) |
| ä» std::basic_streambuf 读åçè¾å
¥è¿ä»£å¨ (类模æ¿) | |
| åå
¥ std::basic_streambuf çè¾åºè¿ä»£å¨ (类模æ¿) |
ä¸åæ ååºç±»æ»¡è¶³å符ç¹å¾ (CharTraits) ï¼
| template<> class char_traits<char>; template<> class char_traits<wchar_t>; |
(C++20 èµ·) (C++11 èµ·) (C++11 èµ·) |
|