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++ å ·åè¦æ±ï¼ å®¹å¨ (Container)
C++ å ·åè¦æ±ï¼ å®¹å¨ (Container)
å®¹å¨ (Container) æ¯ç¨äºåå¨å ¶ä»å¯¹è±¡å¹¶ç §é¡¾ç®¡çå ¶æå®¹çº³ç对象æç¨çå åç对象ã
è¦æ±
- 容å¨ç±»å
Cï¼ - å
ç´ ç±»å
Tï¼ -
Cç±»åç对象aãbã -
rvï¼Cç±»åå³å¼è¡¨è¾¾å¼ã
ç±»å
| åç§° | ç±»å | 注解 |
|---|---|---|
value_type |
T | 坿¦é¤ (Erasable) |
reference |
T& | |
const_reference |
const T& | |
iterator |
æå T çè¿ä»£å¨ | éçååè¿ä»£å¨ (LegacyForwardIterator) å¯è½¬æ¢ä¸º const_iterator
|
const_iterator |
æå T ç常è¿ä»£å¨ | éçååè¿ä»£å¨ (LegacyForwardIterator) |
difference_type |
æç¬¦å·æ´æ° | å¿
é¡»ä¸ iterator å const_iterator ç iterator_traits::difference_type ç¸å
|
size_type |
æ ç¬¦å·æ´æ° | è¶³å¤å¤§ä»¥è¡¨ç¤º difference_type çæææ£å¼
|
æ¹æ³ä¸è¿ç®ç¬¦
| è¡¨è¾¾å¼ | è¿åç±»å | è¯ä¹ | æ¡ä»¶ | å¤æåº¦ | |
|---|---|---|---|---|---|
| C() | C | åå»ºç©ºå®¹å¨ | åï¼C().empty() == true | å¸¸æ° | |
| C(a) | C | å建 a ç坿¬ |
åï¼T å¿
须为å¯å¤å¶æå
¥ (CopyInsertable) åï¼a == C(a) |
çº¿æ§ | |
| C(rv)(C++11 èµ·) | C | ç§»å¨ rv |
åï¼çäº rv 卿¤æé åçå¼ | 常æ°[1] | |
| a = b | C& | 鿝æä» b çå
ç´ å¤å¶èµå¼ a çææå
ç´ |
åï¼a == b | çº¿æ§ | |
| a = rv | C& | 鿝æä» rv çå
ç´ ç§»å¨èµå¼ a çææå
ç´ |
åï¼ a çäº rv 卿¤èµå¼åæ¥æçå¼ | çº¿æ§ | |
| a.~C() | void | 鿝 a çææå
ç´ å¹¶éæ¾ææå
å |
çº¿æ§ | ||
| a.begin() | (const_)iterator | æå a é¦å
ç´ çè¿ä»£å¨ |
å¸¸æ° | ||
| a.end() | (const_)iterator | æå a å°¾å
ç´ åä¸ä½çå
ç´ |
å¸¸æ° | ||
| a.cbegin()(C++11 èµ·) | const_iterator | const_cast<const C&>(a).begin() | å¸¸æ° | ||
| a.cend()(C++11 èµ·) | const_iterator | const_cast<const C&>(a).end() | å¸¸æ° | ||
| a == b | å¯è½¬æ¢ä¸º bool | std::equal(a.begin(), a.end(), b.begin(), b.end())(C++14 èµ·) | åï¼T å¿ é¡»å¯ç¸çæ¯è¾ (EqualityComparable) | è¥ a.size() != b.size() å为常æ°[2]ï¼å¦å为线æ§
| |
| a != b | å¯è½¬æ¢ä¸º bool | !(a == b) | çº¿æ§ | ||
| a.swap(b) | void | äº¤æ¢ a ä¸ b çå¼ |
常æ°[1][3] | ||
| swap(a, b) | void | a.swap(b) | 常æ°[1] | ||
| a.size() | size_type | distance(a.begin(), a.end()) | 常æ°[3] | ||
| a.max_size() | size_type | b.size() ï¼å
¶ä¸ b æ¯æå¤§çå¯è½å®¹å¨ |
常æ°[3] | ||
| a.empty() | å¯è½¬æ¢ä¸º bool | a.begin() == a.end() | å¸¸æ° | ||
| 注æ | |||||
| |||||
|
ç»å®
è¡¨è¾¾å¼ i == jãi != jãi < jãi <= jãi >= jãi > jãi - j ä¸ï¼ä»»ä¸æäºè
é½å¯ä»¥ç¨æä»£ç¸åå
ç´ çä¸ä¸ªè¯¥å®¹å¨ç |
(C++14 èµ·) |
容卿°æ®ç«äº
å ¶ä»è¦æ±
- C
- å¯é»è®¤æé (DefaultConstructible)
- å¯å¤å¶æé (CopyConstructible)
- å¯ç¸çæ¯è¾ (EqualityComparable)
- å¯äº¤æ¢ (Swappable)
- T