Vectors contain contiguous elements stored as an array.

Accessing members of a vector can be done in constant time, appending elements to a vector can be done in amortized constant time, whereas locating a specific value or inserting elements into the vector takes linear time.

Constructors | create vectors and initialize them with some data |

Operators | compare, assign, and access elements of a vector |

assign | assign elements to a vector |

at | return a reference to an element at a specific location |

back | returns a reference to last element of a vector |

begin | returns an iterator to the beginning of the vector |

capacity | returns the number of elements that the vector can hold |

clear | removes all elements from the vector |

empty | true if the vector has no elements |

end | returns an iterator just past the last element of a vector |

erase | removes elements from a vector |

front | returns a reference to the first element of a vector |

insert | inserts elements into the vector |

max_size | returns the maximum number of elements that the vector can hold |

pop_back | removes the last element of a vector |

push_back | add an element to the end of the vector |

rbegin | returns a reverse_iterator to the end of the vector |

rend | returns a reverse_iterator just past the beginning of the vector |

reserve | sets the minimum capacity of the vector |

resize | change the size of the vector |

size | returns the number of items in the vector |

swap | swap the contents of this vector with another |

Note that a boolean vector (vector<bool>) is a specialization of the vector template that is designed to use less memory. A normal boolean variable usually uses 1-4 bytes of memory, but a boolean vector should use only one bit per boolean value.