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++ å ·åè¦æ±ï¼ æ¯è¾ (Compare)
C++ å ·åè¦æ±ï¼ æ¯è¾ (Compare)
æ¯è¾ (Compare) æ¯ä¸äºæ ååºè®¾æ½éå¯¹ç¨æ·æä¾ç彿°å¯¹è±¡ç±»åææå¾ çä¸ç»è¦æ±ã
对满足æ¯è¾ (Compare) çç±»åç对象è¿ç¨å½æ°è°ç¨æä½çè¿åå¼ï¼å½æè¯å¢è½¬æ¢æ bool æ¶ï¼è¥æ¤ç±»åæå¼å ¥çä¸¥æ ¼å¼±åºå ³ç³»ä¸ï¼è¯¥è°ç¨ç第ä¸å®åå äºç¬¬äºå®åï¼åçæ trueï¼å¦åçæ falseã
ä¸ä»»ä½äºå è°è¯ (BinaryPredicate) ç¸åï¼ä¸å 许该表达å¼çæ±å¼éè¿è§£å¼ç¨çè¿ä»£å¨è°ç¨é const 彿°ã
è¦æ±
以䏿
åµä¸ï¼ç±»å T 满足æ¯è¾ (Compare)
- ç±»å
T满足äºå è°è¯ (BinaryPredicate) ï¼ä¸
ç»å®
-
Tç±»åç对象comp -
equiv(a, b)ï¼ä¸ºçä»·äº!comp(a, b) && !comp(b, a)ç表达å¼
ä¸å表达æ¯å¿ 须忳䏿¥æå ¶æå®çææ
| è¡¨è¾¾å¼ | è¿åç±»å | è¦æ± |
|---|---|---|
| comp(a, b) | å¯éå¼è½¬æ¢ä¸º bool | 建ç«å
·æä¸åæ§è´¨çä¸¥æ ¼å¼±åºå
³ç³»
|
| equiv(a, b) | bool | 建ç«å
·æä¸åæ§è´¨ççä»·å
³ç³»
|
注ï¼comp å¨ equiv æç¡®å®ççä»·ç±»ä¸å¼å
¥äºä¸ç§ä¸¥æ ¼å
¨åºã
æ ååº
ä¸åæ ååºè®¾æ½æå¾ æ¯è¾ (Compare) ç±»åã
| å¯ä¸é®çéåï¼æç
§é®æåº (类模æ¿) | |
| é®å¼å¯¹çéåï¼æç
§é®æåºï¼é®æ¯å¯ä¸ç (类模æ¿) | |
| é®çéåï¼æç
§é®æåº (类模æ¿) | |
| é®å¼å¯¹çéåï¼æç
§é®æåº (类模æ¿) | |
| éé
ä¸ä¸ªå®¹å¨ä»¥æä¾ä¼å
级éå (类模æ¿) | |
| å°èå´æååºæåº (彿°æ¨¡æ¿) | |
| 对å
ç´ è¿è¡æåº ( std::forward_list<T,Allocator> çå
¬å¼æå彿°) | |
| 对å
ç´ è¿è¡æåº ( std::list<T,Allocator> çå
¬å¼æå彿°) | |
| å°èå´å
çå
ç´ æåºï¼åæ¶ä¿æç¸ççå
ç´ ä¹é´çé¡ºåº (彿°æ¨¡æ¿) | |
| æåºä¸ä¸ªèå´çå N 个å
ç´ (彿°æ¨¡æ¿) | |
| 对èå´å
çå
ç´ è¿è¡å¤å¶å¹¶é¨åæåº (彿°æ¨¡æ¿) | |
| (C++11) |
æ£æ¥èå´æ¯å¦å·²æååºæå (彿°æ¨¡æ¿) |
| (C++11) |
æ¾åºæå¤§çå·²æåºåèå´ (彿°æ¨¡æ¿) |
| å°ç»å®çèå´é¨åæåºï¼ç¡®ä¿å
¶æç»å®å
ç´ åå (彿°æ¨¡æ¿) | |
| è¿åæå第ä¸ä¸ªä¸å°äºç»å®å¼çå
ç´ çè¿ä»£å¨ (彿°æ¨¡æ¿) | |
| è¿åæå第ä¸ä¸ªå¤§äºç»å®å¼çå
ç´ çè¿ä»£å¨ (彿°æ¨¡æ¿) | |
| ç¡®å®å
ç´ æ¯å¦åå¨äºæèå´ä¸ (彿°æ¨¡æ¿) | |
| è¿åå¹é
ç¹å®é®å¼çå
ç´ èå´ (彿°æ¨¡æ¿) | |
| å½å¹¶ä¸¤ä¸ªå·²æåºçèå´ (彿°æ¨¡æ¿) | |
| åå¹¶äºä¸ªå·²æåºå表 ( std::forward_list<T,Allocator> çå
¬å¼æå彿°) | |
| åå¹¶äºä¸ªå·²æåºå表 ( std::list<T,Allocator> çå
¬å¼æå彿°) | |
| å°±å°å½å¹¶ä¸¤ä¸ªæåºèå´ (彿°æ¨¡æ¿) | |
| è¥ä¸ä¸ªé忝å¦ä¸ä¸ªçåéåè¿å true (彿°æ¨¡æ¿) | |
| 计ç®ä¸¤ä¸ªéåçå·®é (彿°æ¨¡æ¿) | |
| 计ç®ä¸¤ä¸ªéåç交é (彿°æ¨¡æ¿) | |
| 计ç®ä¸¤ä¸ªéåç对称差 (彿°æ¨¡æ¿) | |
| 计ç®ä¸¤ä¸ªéåçå¹¶é (彿°æ¨¡æ¿) | |
| å°ä¸ä¸ªå
ç´ å å
¥å°ä¸ä¸ªæå¤§å (彿°æ¨¡æ¿) | |
| 仿大å ä¸ç§»é¤æå¤§å
ç´ (彿°æ¨¡æ¿) | |
| ä»ä¸ä¸ªå
ç´ èå´å建åºä¸ä¸ªæå¤§å (彿°æ¨¡æ¿) | |
| å°ä¸ä¸ªæå¤§å åæä¸ä¸ªæååºæåºçå
ç´ èå´ (彿°æ¨¡æ¿) | |
| æ£æ¥ç»å®èå´æ¯å¦ä¸ºä¸ä¸ªæå¤§å (彿°æ¨¡æ¿) | |
| (C++11) |
æ¥æ¾è½æä¸ºæå¤§å çæå¤§åèå´ (彿°æ¨¡æ¿) |
| è¿ååç»å®å¼ä¸çè¾å¤§è
(彿°æ¨¡æ¿) | |
| è¿åèå´å
çæå¤§å
ç´ (彿°æ¨¡æ¿) | |
| è¿ååç»å®å¼ä¸çè¾å°è
(彿°æ¨¡æ¿) | |
| è¿åèå´å
çæå°å
ç´ (彿°æ¨¡æ¿) | |
| (C++11) |
è¿å两个å
ç´ çè¾å°åè¾å¤§è
(彿°æ¨¡æ¿) |
| (C++11) |
è¿åèå´å
çæå°å
ç´ åæå¤§å
ç´ (彿°æ¨¡æ¿) |
| å½ä¸ä¸ªèå´æåå
¸é¡ºåºå°äºå¦ä¸ä¸ªèå´æ¶ï¼è¿å true (彿°æ¨¡æ¿) | |
| 产çæä¸ªå
ç´ èå´çæåå
¸é¡ºåºçä¸ä¸ä¸ªè¾å¤§çæå (彿°æ¨¡æ¿) | |
| 产çæä¸ªå
ç´ èå´çæåå
¸é¡ºåºçä¸ä¸ä¸ªè¾å°çæå (彿°æ¨¡æ¿) |