C ++ containers
Container and container adapter in C ++
Containers include vector, deque, list, map, multimap, set, and multiset. Container adapters include deque-based stack and queue, and vector-based priority_queue. String also implements the stl interface.
This is because you often need to find the container function interface when writing C ++ programs. C ++ has not introduced new containers and functions. Reference: STL Containers and Container Adaptors
Sequential container
Including vector, deque, list
Common functions
- Constructor
ContainerType <T> c; ContainerType <T> c (num); ContainerType <T> c (num, val); ContainerType <T> c (inIterBegin, inIterEnd ); // copy the constructor ContainerType <T> c (otherLikeContainer); ContainerType <T> c = otherLikeContainer;
- Value assignment Constructor
c1 = c2
- Comparison
C1 = c2 c1! = C2 c1 <c2 // compare c1 by element one by one <= c2 c1> c2 c1> = c2
- Capacity
empty() size() max_size() resize(num, val = default)
- Iterator and reference
begin()end()rbegin() rend()front() back()
- Insert value
push_back(val) insert(iter, val) insert(iter, num, val)insert(iter, inIterBegin, inIterEnd)
- Assign values (replace all elements in the container)
assign(inIterBegin, inIterEnd) assign(num, val)
- Delete Element
pop_back() erase(iter) erase(iterBegin, iterEnd) clear()
- Others
swap(otherLikeContainer)get_allocator()
Special Functions
- Unique to vector
reserve(num)capacity()
- List-specific
Merge (otherList) // merge by size. The two must be ordered merge (otherList, binPred) remove (val) remove_if (unPred) reverse () sort (binPred) splice (iter, otherList) // move all elements in otherList to splice (iter, otherList, otherIterBegin, otherIterEnd) unique (binPred) at iter)
- Unique to vector and deque
At (index) // checks the subscript range operator [] (index)
- Unique to deque and list
push_front(val)pop_front()
Container Adapter
Including stack, queue, priority_queue
Common functions
c1 = c2 empty()size() push(val) pop()
Special Functions
- Special Functions of queue
front() back()
- Stack and priority_queue Functions
top() == != < <= > >=
Sequence container and container adapter function table
See The STL Sequential Containers and Container Adaptors,
And their Member Functions
Associated container
Including map, multimap, set, and multiset
Common functions
- Assignment
c1 = c2
- Comparison
== != < <= > >=
- Capacity
empty() const size() const max_size()
- Iterator
begin() end() rbegin() rend()
- Insert value
insert(p, val) insert(start, end)
- Delete
erase(someKey) erase(iter) erase(start, end) clear()
- Search
Count (someKey) find (someKey) // return iterator lower_bound (someKey) // iterator greater than or equal to someKey upper_bound (someKey) // iterator greater than someKey performance_range (someKey)
- Others
Swap (otherLikeContainer) get_allocator () // function object key_comp () value_comp () for key and val comparison ()
Special Functions
Actually, there are no special functions, but the interfaces of these functions are slightly different.
- Map/multimap special Constructor
ContainerType<keyType, ValueType> c; ContainerType<KeyType, ValueType> c(inIterBegin, inIterEnd); ContainerType<KeyType, ValueType> c(otherLikeContainer);
- Set/multiset special Constructor
ContainerType<T> c; ContainerType<T> c(inIterBegin, inIterEnd); ContainerType<T> c(otherLikeContainer);
- Map-specific member functions
operator[someKey]
- Map/set special member functions
// Return value: pair <iterator, true/false (whether this value is included)> insert (val)
- Multimap/multiset special member functions
// Return iteratorinsert (val)
Associate container function table
See The STL Associative Containers and their Member Functions
Others
Including string, bitset, and other class containers
String
- Constructor
string s;string s(c_string_value);string s(char_array, size_type_count);string s(string_value);string s(string_value, size_type_index);string s(string_value, size_type_index, size_type_count);string s(size_type_count, char_value);string s(input_iterator_start, input_iterator_end);
- Char
S [I] s. at (I) // border check
- Iterator
s.begin()s.end()s.rbegin()s.rend()
- Append and value assignment
operator+=s.append(string_value)s.append(c_string_value)s.append(size_type_count, char_value)s.append(c_string_value, size_type_count)s.append(c_string_value, size_type_index, size_type_count)s.append(first_input_iterator, last_input_iterator)//operator=s.assign(string_value)s.assign(c_string_value)s.assign(size_type_count, char_value)s.assign(c_string_value, size_type_count)s.assign(c_string_value, size_type_index, size_type_count)s.assign(start_input_iterator, end_input_iterator)
- Convert to c-string
S. copy (char_array, size_type_count, size_type_index) s. c_str () // returns the address of the char array ending with \ 0. The array belongs to s. Do not change s. data () // return the char array address that does not end with \ 0. The array belongs to s. Do not change it.
- Substring
s.substr(size_type_index)s.substr(size_type_index, size_type_count)
- Capacity and capacity adjustment
s.empty()s.capacity()s.length()s.size()s.max_size()s.reserve(size_type_value)s.resize(size_type_value, char_value)s.resize(size_type_value)
- Delete
S. clear () s. erase () // Delete All characters s. erase (size_type_index) s. erase (size_type_index, size_type_count) s. erase (iterator_position) s. erase (first_iterator, last_iterator)
- Search
// All the find statements return the lower mark value. If no value is found, string: npos // is returned to find chars. find (char_value) s. find (char_value, size_type_index) s. rfind (char_value) s. rfind (char_value, size_type_index) // find strings. find (string_value) s. find (string_value, size_type_index) // search for s from the index. rfind (string_value) s. rfind (string_value, size_type_index) // search for cstrings. find (c_string_value, size_type_index, size_type_count) s. rfind (c_string_value, size_type_index, size_type_count) // s. find_first_of (char_value) s. find_first_of (char_value, size_type_index) s. find_first_not_of (char_value) s. find_first_not_of (char_value, size_type_index) // returns the subscript s. find_first_of (string_value) s. find_first_of (string_value, size_type_index) s. find_first_not_of (string_value) s. find_first_not_of (string_value, size_type_index) // s. find_first_of (c_string_value, size_type_index, size_type_count) s. find_first_not_of (string_value, size_type_index, size_type_count. find_last_of (char_value) s. find_last_of (char_value, size_type_index) s. find_last_not_of (char_value) s. find_last_not_of (char_value, size_type_index) // s. find_last_of (string_value) s. find_last_of (string_value, size_type_index) s. find_last_not_of (string_value) s. find_last_not_of (string_value, size_type_index) // s. find_last_of (c_string_value, size_type_index, size_type_count) s. find_last_not_of (string_value, size_type_index, size_type_count)
- Insert value
S. insert (size_type_index, string_variable) s. insert (size_type_index, c_string_value) s. insert (size_type_index1, string_variable, size_type_index2, size_type_count) s. insert (size_type_index, c_string_value, size_type_count) s. insert (size_type_index, size_type_count, char_value) // in c ++, the function parameters are always count before val s. insert (iterator_position, size_type_count, char_value) s. insert (iterator_position, char_value) s. insert (iterator_position, input_iterator_first, input_iterator_last. push_back (char_value)
- Character/string replacement
s.replace(size_type_index, size_type_count, string_value)s.replace(iterator_first, iterator_last, string_values.replace(size_type_index1, size_type_count1, string_value, size_type_index2, size_type_count2)s.replace(size_type_index, size_type_count, c_string_value)s.replace(iterator_first, iterator_last, c_string_value)s.replace(size_type_index, size_type_count1, c_string_value, size_type_count2)s.replace(iterator_first, iterator_last, c_string_value, size_type_count)s.replace(size_type_index, size_type_count1, size_type_count2, char_value)s.replace(iterator_first, iterator_last, size_type_count, char_value)s.replace(iterator_first, iterator_last, input_iterator_start, input_iterator_end)
- Comparison
// = ,! =, <,> <=, >= Already overloaded /// compare returns an int: s-others.compare (string_value) s. compare (size_type_index, size_type_count, string_value) s. compare (size_type_index1, size_type_count1, string_value, size_type_index2, size_type_count2) // s. compare (c_string_value) s. compare (size_type_index, size_type_count, c_string_value) s. compare (size_type_index, size_type_count1, c_string_value, size_type_count2)
- Other functions
S. swap (string_variable) /// swap (string_variable1, substring) // getline (inStream, string_variable) // The string result does not contain delimitergetline (inStream, string_variable, char_delimiter_value)
For more information, see Focustc. The blog address is http://blog.csdn.net/caozhk.