<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html lang="en" dir="ltr" class="client-nojs">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>std::vector - cppreference.com</title>
<meta charset="UTF-8">
<meta name="generator" content="MediaWiki 1.18.2">
<link rel="shortcut icon" href="../../../favicon.ico">
<link rel="stylesheet" href="../../../common/load202e.css?debug=false&amp;lang=en&amp;modules=mediawiki.legacy.commonPrint%2Cshared%7Cskins.cppreference2&amp;only=styles&amp;skin=cppreference2&amp;*">
<meta name="ResourceLoaderDynamicStyles" content="">
<link rel="stylesheet" href="../../../common/load7fe1.css?debug=false&amp;lang=en&amp;modules=site&amp;only=styles&amp;skin=cppreference2&amp;*">
<style>a:lang(ar),a:lang(ckb),a:lang(fa),a:lang(kk-arab),a:lang(mzn),a:lang(ps),a:lang(ur){text-decoration:none}a.new,#quickbar a.new{color:#ba0000}#toc{display:none}.editsection{display:none}

/* cache key: mwiki1-mwiki_en_:resourceloader:filter:minify-css:4:b677bc2b5ec37947892a2d0853532528 */</style>
<script src="../../../common/load404e.php?debug=false&amp;lang=en&amp;modules=startup&amp;only=scripts&amp;skin=cppreference2&amp;*"></script><script>if(window.mw){
	mw.config.set({"wgCanonicalNamespace": "", "wgCanonicalSpecialPageName": false, "wgNamespaceNumber": 0, "wgPageName": "cpp/container/vector", "wgTitle": "cpp/container/vector", "wgCurRevisionId": 36403, "wgArticleId": 443, "wgIsArticle": true, "wgAction": "view", "wgUserName": null, "wgUserGroups": ["*"], "wgCategories": [], "wgBreakFrames": false, "wgRestrictionEdit": [], "wgRestrictionMove": []});
}
</script><script>if(window.mw){
	mw.loader.load(["mediawiki.page.startup"]);
}
</script><style type="text/css">/*<![CDATA[*/
.source-cpp {line-height: normal;}
.source-cpp li, .source-cpp pre {
	line-height: normal; border: 0px none white;
}
/**
 * GeSHi Dynamically Generated Stylesheet
 * --------------------------------------
 * Dynamically generated stylesheet for cpp
 * CSS class: source-cpp, CSS id: 
 * GeSHi (C) 2004 - 2007 Nigel McNie, 2007 - 2008 Benny Baumann
 * (http://qbnz.com/highlighter/ and http://geshi.org/)
 * --------------------------------------
 */
.cpp.source-cpp .de1, .cpp.source-cpp .de2 {font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;}
.cpp.source-cpp  {font-family:monospace;}
.cpp.source-cpp .imp {font-weight: bold; color: red;}
.cpp.source-cpp li, .cpp.source-cpp .li1 {font-weight: normal; vertical-align:top;}
.cpp.source-cpp .ln {width:1px;text-align:right;margin:0;padding:0 2px;vertical-align:top;}
.cpp.source-cpp .li2 {font-weight: bold; vertical-align:top;}
.cpp.source-cpp .kw1 {color: #0000dd;}
.cpp.source-cpp .kw2 {color: #0000ff;}
.cpp.source-cpp .kw3 {color: #0000dd;}
.cpp.source-cpp .kw4 {color: #0000ff;}
.cpp.source-cpp .co1 {color: #909090;}
.cpp.source-cpp .co2 {color: #339900;}
.cpp.source-cpp .coMULTI {color: #ff0000; font-style: italic;}
.cpp.source-cpp .es0 {color: #008000; font-weight: bold;}
.cpp.source-cpp .es1 {color: #008000; font-weight: bold;}
.cpp.source-cpp .es2 {color: #008000; font-weight: bold;}
.cpp.source-cpp .es3 {color: #008000; font-weight: bold;}
.cpp.source-cpp .es4 {color: #008000; font-weight: bold;}
.cpp.source-cpp .es5 {color: #008000; font-weight: bold;}
.cpp.source-cpp .br0 {color: #008000;}
.cpp.source-cpp .sy0 {color: #008000;}
.cpp.source-cpp .sy1 {color: #000080;}
.cpp.source-cpp .sy2 {color: #000040;}
.cpp.source-cpp .sy3 {color: #000040;}
.cpp.source-cpp .sy4 {color: #008080;}
.cpp.source-cpp .st0 {color: #008000;}
.cpp.source-cpp .nu0 {color: #000080;}
.cpp.source-cpp .nu6 {color: #000080;}
.cpp.source-cpp .nu8 {color: #000080;}
.cpp.source-cpp .nu12 {color: #000080;}
.cpp.source-cpp .nu16 {color:#000080;}
.cpp.source-cpp .nu17 {color:#000080;}
.cpp.source-cpp .nu18 {color:#000080;}
.cpp.source-cpp .nu19 {color:#000080;}
.cpp.source-cpp .ln-xtra, .cpp.source-cpp li.ln-xtra, .cpp.source-cpp div.ln-xtra {background-color: #ffc;}
.cpp.source-cpp span.xtra { display:block; }

/*]]>*/
</style>
<!--[if lt IE 7]><style type="text/css">body{behavior:url("/mwiki/skins/cppreference2/csshover.min.htc")}</style><![endif]-->
</head>
<body class="mediawiki ltr sitedir-ltr ns-0 ns-subject page-cpp_container_vector action-view skin-cppreference2 cpp-navbar">
        <!-- header -->
        
        <!-- /header -->
        <!-- content -->
        <div id="cpp-content-base">
            <div id="content">
                <a id="top"></a>
                <div id="mw-js-message" style="display:none;"></div>
                                <!-- firstHeading -->
                <h1 id="firstHeading" class="firstHeading">
<span style="font-size:0.7em; line-height:130%">std::</span>vector</h1>
                <!-- /firstHeading -->
                <!-- bodyContent -->
                <div id="bodyContent">
                                        <!-- tagline -->
                    <div id="siteSub">From cppreference.com</div>
                    <!-- /tagline -->
                                        <!-- subtitle -->
                    <div id="contentSub"><span class="subpages">&lt; <a href="../../cpp.html" title="cpp">cpp</a> | <a href="../container.html" title="cpp/container">container</a></span></div>
                    <!-- /subtitle -->
                                                            <!-- bodycontent -->
                    <div lang="en" dir="ltr" class="mw-content-ltr">
<div class="t-navbar" style="">
<div class="t-navbar-sep"> </div>
<div class="t-navbar-head">
<a href="../../cpp.html" title="cpp"> C++</a><div class="t-navbar-menu"><div><div>
<table class="t-sb-list-begin" cellpadding="0" style="line-height:1.1em;">
<tr><td colspan="5">  <a href="../language.html" title="cpp/language"> Language</a>
</td></tr>
<tr><td colspan="5">  <a href="../concept.html" title="cpp/concept"> Concepts</a>
</td></tr>
<tr><td colspan="5">  <a href="../utility.html" title="cpp/utility"> Utilities library</a>
</td></tr>
<tr><td colspan="5">  <a href="../string.html" title="cpp/string"> Strings library</a>
</td></tr>
<tr><td colspan="5">  <a href="../container.html" title="cpp/container"> Containers library</a>
</td></tr>
<tr><td colspan="5">  <a href="../algorithm.html" title="cpp/algorithm"> Algorithms library</a>
</td></tr>
<tr><td colspan="5">  <a href="../iteratorhtml.html" title="cpp/iterator"> Iterators library</a>
</td></tr>
<tr><td colspan="5">  <a href="../numeric.html" title="cpp/numeric"> Numerics library</a>
</td></tr>
<tr><td colspan="5">  <a href="../io.html" title="cpp/io"> Input/output library</a>
</td></tr>
<tr><td colspan="5">  <a href="../locale.html" title="cpp/locale"> Localizations library</a>
</td></tr>
<tr><td colspan="5">  <a href="../regex.html" title="cpp/regex"> Regular expressions library</a> <span class="t-mark">(C++11)</span>
</td></tr>
<tr><td colspan="5">  <a href="../atomic.html" title="cpp/atomic"> Atomic operations library</a> <span class="t-mark">(C++11)</span>
</td></tr>
<tr><td colspan="5">  <a href="../thread.html" title="cpp/thread"> Thread support library</a> <span class="t-mark">(C++11)</span>
</td></tr>
</table>
</div></div></div>
</div>
<div class="t-navbar-sep"> </div>
<div class="t-navbar-head">
<a href="../container.html" title="cpp/container"> Containers library</a><div class="t-navbar-menu"><div><div>
<table class="t-sb-list-begin" cellpadding="0" style="">
<tr><td colspan="5"> <table class="t-sb-list-ln-table"><tr>
<td><a href="array.html" title="cpp/container/array">array</a></td>
<td><span class="t-mark">(C++11)</span></td>
</tr></table>
</td></tr>
<tr><td colspan="5"> <table class="t-sb-list-ln-table"><tr><td><strong class="selflink">vector</strong></td></tr></table>
</td></tr>
<tr><td colspan="5"> <table class="t-sb-list-ln-table"><tr><td><a href="deque.html" title="cpp/container/deque">deque</a></td></tr></table>
</td></tr>
<tr><td colspan="5"> <table class="t-sb-list-ln-table"><tr>
<td><a href="forward_list.html" title="cpp/container/forward list">forward_list</a></td>
<td><span class="t-mark">(C++11)</span></td>
</tr></table>
</td></tr>
<tr><td colspan="5"> <table class="t-sb-list-ln-table"><tr><td><a href="list.html" title="cpp/container/list">list</a></td></tr></table>
</td></tr>
<tr><td colspan="5"> <table class="t-sb-list-ln-table"><tr><td><a href="set.html" title="cpp/container/set">set</a></td></tr></table>
</td></tr>
<tr><td colspan="5"> <table class="t-sb-list-ln-table"><tr><td><a href="multiset.html" title="cpp/container/multiset">multiset</a></td></tr></table>
</td></tr>
<tr><td colspan="5"> <table class="t-sb-list-ln-table"><tr><td><a href="map.html" title="cpp/container/map">map</a></td></tr></table>
</td></tr>
<tr><td colspan="5"> <table class="t-sb-list-ln-table"><tr><td><a href="multimap.html" title="cpp/container/multimap">multimap</a></td></tr></table>
</td></tr>
<tr><td colspan="5"> <table class="t-sb-list-ln-table"><tr>
<td><a href="unordered_set.html" title="cpp/container/unordered set">unordered_set</a></td>
<td><span class="t-mark">(C++11)</span></td>
</tr></table>
</td></tr>
<tr><td colspan="5"> <table class="t-sb-list-ln-table"><tr>
<td><a href="unordered_multiset.html" title="cpp/container/unordered multiset">unordered_multiset</a></td>
<td><span class="t-mark">(C++11)</span></td>
</tr></table>
</td></tr>
<tr><td colspan="5"> <table class="t-sb-list-ln-table"><tr>
<td><a href="unordered_maphtml.html" title="cpp/container/unordered map">unordered_map</a></td>
<td><span class="t-mark">(C++11)</span></td>
</tr></table>
</td></tr>
<tr><td colspan="5"> <table class="t-sb-list-ln-table"><tr>
<td><a href="unordered_multimap.html" title="cpp/container/unordered multimap">unordered_multimap</a></td>
<td><span class="t-mark">(C++11)</span></td>
</tr></table>
</td></tr>
<tr><td colspan="5"> <table class="t-sb-list-ln-table"><tr><td><a href="stack.html" title="cpp/container/stack">stack</a></td></tr></table>
</td></tr>
<tr><td colspan="5"> <table class="t-sb-list-ln-table"><tr><td><a href="queue.html" title="cpp/container/queue">queue</a></td></tr></table>
</td></tr>
<tr><td colspan="5"> <table class="t-sb-list-ln-table"><tr><td><a href="priority_queue.html" title="cpp/container/priority queue">priority_queue</a></td></tr></table>
</td></tr>
</table>
</div></div></div>
</div>
<div class="t-navbar-sep"> </div>
<div class="t-navbar-head">
<strong class="selflink"><tt>std::vector</tt></strong><div class="t-navbar-menu"><div><div>
<table class="t-sb-list-begin" cellpadding="0" style="">
<tr class="t-sb-list-h1"><td colspan="5">  Member functions
</td></tr>
<tr><td colspan="5"> <table class="t-sb-list-ln-table"><tr><td><a href="vector/vector.html" title="cpp/container/vector/vector">vector::vector</a></td></tr></table>
</td></tr>
<tr><td colspan="5"> <table class="t-sb-list-ln-table"><tr><td><a href="vector/_vector.html" title="cpp/container/vector/~vector">vector::~vector</a></td></tr></table>
</td></tr>
<tr><td colspan="5"> <table class="t-sb-list-ln-table"><tr><td><a href="vector/operator%3d.html" title="cpp/container/vector/operator=">vector::operator=</a></td></tr></table>
</td></tr>
<tr><td colspan="5"> <table class="t-sb-list-ln-table"><tr><td><a href="vector/assign.html" title="cpp/container/vector/assign">vector::assign</a></td></tr></table>
</td></tr>
<tr><td colspan="5"> <table class="t-sb-list-ln-table"><tr><td><a href="vector/get_allocator.html" title="cpp/container/vector/get allocator">vector::get_allocator</a></td></tr></table>
</td></tr>
<tr class="t-sb-list-h2"><td colspan="5">  Element access
</td></tr>
<tr><td colspan="5"> <table class="t-sb-list-ln-table"><tr><td><a href="vector/at.html" title="cpp/container/vector/at">vector::at</a></td></tr></table>
</td></tr>
<tr><td colspan="5"> <table class="t-sb-list-ln-table"><tr><td><a href="vector/operator_at.html" title="cpp/container/vector/operator at">vector::operator[]</a></td></tr></table>
</td></tr>
<tr><td colspan="5"> <table class="t-sb-list-ln-table"><tr><td><a href="vector/front.html" title="cpp/container/vector/front">vector::front</a></td></tr></table>
</td></tr>
<tr><td colspan="5"> <table class="t-sb-list-ln-table"><tr><td><a href="vector/back.html" title="cpp/container/vector/back">vector::back</a></td></tr></table>
</td></tr>
<tr><td colspan="5"> <table class="t-sb-list-ln-table"><tr><td><a href="vector/data.html" title="cpp/container/vector/data">vector::data</a></td></tr></table>
</td></tr>
<tr class="t-sb-list-h2"><td colspan="5">  Iterators
</td></tr>
<tr><td colspan="5"> <table class="t-sb-list-ln-table"><tr>
<td><a href="vector/begin.html" title="cpp/container/vector/begin">vector::begin<br>vector::cbegin</a></td>
<td>
<br><span class="t-mark">(C++11)</span>
</td>
</tr></table>
</td></tr>
<tr><td colspan="5"> <table class="t-sb-list-ln-table"><tr>
<td><a href="vector/end.html" title="cpp/container/vector/end">vector::end<br>vector::cend</a></td>
<td>
<br><span class="t-mark">(C++11)</span>
</td>
</tr></table>
</td></tr>
<tr><td colspan="5"> <table class="t-sb-list-ln-table"><tr>
<td><a href="vector/rbegin.html" title="cpp/container/vector/rbegin">vector::rbegin<br>vector::crbegin</a></td>
<td>
<br><span class="t-mark">(C++11)</span>
</td>
</tr></table>
</td></tr>
<tr><td colspan="5"> <table class="t-sb-list-ln-table"><tr>
<td><a href="vector/rend.html" title="cpp/container/vector/rend">vector::rend<br>vector::crend</a></td>
<td>
<br><span class="t-mark">(C++11)</span>
</td>
</tr></table>
</td></tr>
<tr class="t-sb-list-h2"><td colspan="5">  Capacity
</td></tr>
<tr><td colspan="5"> <table class="t-sb-list-ln-table"><tr><td><a href="vector/empty.html" title="cpp/container/vector/empty">vector::empty</a></td></tr></table>
</td></tr>
<tr><td colspan="5"> <table class="t-sb-list-ln-table"><tr><td><a href="vector/size.html" title="cpp/container/vector/size">vector::size</a></td></tr></table>
</td></tr>
<tr><td colspan="5"> <table class="t-sb-list-ln-table"><tr><td><a href="vector/max_size.html" title="cpp/container/vector/max size">vector::max_size</a></td></tr></table>
</td></tr>
<tr><td colspan="5"> <table class="t-sb-list-ln-table"><tr><td><a href="vector/reserve.html" title="cpp/container/vector/reserve">vector::reserve</a></td></tr></table>
</td></tr>
<tr><td colspan="5"> <table class="t-sb-list-ln-table"><tr><td><a href="vector/capacity.html" title="cpp/container/vector/capacity">vector::capacity</a></td></tr></table>
</td></tr>
<tr><td colspan="5"> <table class="t-sb-list-ln-table"><tr>
<td><a href="vector/shrink_to_fit.html" title="cpp/container/vector/shrink to fit">vector::shrink_to_fit</a></td>
<td><span class="t-mark">(C++11)</span></td>
</tr></table>
</td></tr>
<tr class="t-sb-list-h2"><td colspan="5">  Modifiers
</td></tr>
<tr><td colspan="5"> <table class="t-sb-list-ln-table"><tr><td><a href="vector/clear.html" title="cpp/container/vector/clear">vector::clear</a></td></tr></table>
</td></tr>
<tr><td colspan="5"> <table class="t-sb-list-ln-table"><tr><td><a href="vector/insert.html" title="cpp/container/vector/insert">vector::insert</a></td></tr></table>
</td></tr>
<tr><td colspan="5"> <table class="t-sb-list-ln-table"><tr>
<td><a href="vector/emplace.html" title="cpp/container/vector/emplace">vector::emplace</a></td>
<td><span class="t-mark">(C++11)</span></td>
</tr></table>
</td></tr>
<tr><td colspan="5"> <table class="t-sb-list-ln-table"><tr><td><a href="vector/erase.html" title="cpp/container/vector/erase">vector::erase</a></td></tr></table>
</td></tr>
<tr><td colspan="5"> <table class="t-sb-list-ln-table"><tr><td><a href="vector/push_back.html" title="cpp/container/vector/push back">vector::push_back</a></td></tr></table>
</td></tr>
<tr><td colspan="5"> <table class="t-sb-list-ln-table"><tr>
<td><a href="vector/emplace_back.html" title="cpp/container/vector/emplace back">vector::emplace_back</a></td>
<td><span class="t-mark">(C++11)</span></td>
</tr></table>
</td></tr>
<tr><td colspan="5"> <table class="t-sb-list-ln-table"><tr><td><a href="vector/pop_back.html" title="cpp/container/vector/pop back">vector::pop_back</a></td></tr></table>
</td></tr>
<tr><td colspan="5"> <table class="t-sb-list-ln-table"><tr><td><a href="vector/resize.html" title="cpp/container/vector/resize">vector::resize</a></td></tr></table>
</td></tr>
<tr><td colspan="5"> <table class="t-sb-list-ln-table"><tr><td><a href="vector/swap.html" title="cpp/container/vector/swap">vector::swap</a></td></tr></table>
</td></tr>
</table>
</div></div></div>
</div>
<div class="t-navbar-sep"> </div>
</div>
<table class="t-ddcl-list-begin">
<tr class="t-ddcl-list-header">
<td> <div>Defined in header <tt>&lt;vector&gt;</tt>
 </div>
</td>
<td></td>
<td></td>
</tr>
<tr><td colspan="3" class="t-ddcl-list-sep"></td></tr>
<tr class="t-ddcl-list-item">
<td class="t-ddcl-list-item-nopad"> <div><span class="mw-geshi cpp source-cpp"><span class="kw1">template</span><span class="sy1">&lt;</span><br><p>    <span class="kw1">class</span> T,<br>
    <span class="kw1">class</span> Allocator <span class="sy1">=</span> <a href="../memory/allocator.html"><span class="kw567">std::<span class="me2">allocator</span></span></a><span class="sy1">&lt;</span>T<span class="sy1">&gt;</span><br></p>
<span class="sy1">&gt;</span> <span class="kw1">class</span> vector<span class="sy4">;</span></span></div>
</td>
<td class="t-ddcl-list-item-nopad">  </td>
<td class="t-ddcl-list-item-nopad">  </td>
</tr>
<tr><td colspan="3" class="t-ddcl-list-sep"></td></tr>
</table>
<p><tt>std::vector</tt> is a container that supports fast random access to the elements and fast insertion or removal of elements at the end of the container. Fast element insertion or removal in the middle of the container is not supported. It is implemented as an contiguous array, which means that pointer arithmetic is fully supported, and a pointer to an element of a vector may be passed to any C function that expects a pointer to an element of an array.
</p>
<p><tt>std::vector</tt> meets the requirements of <a href="../concept/Container.html" title="cpp/concept/Container"><tt>Container</tt></a>, <a href="http://en.cppreference.com/mwiki/index.php?title=cpp/concept/AllocatorAwareContainer&amp;action=edit&amp;redlink=1" class="new" title="cpp/concept/AllocatorAwareContainer (page does not exist)"><tt>AllocatorAwareContainer</tt></a>, <a href="http://en.cppreference.com/mwiki/index.php?title=cpp/concept/SequenceContainer&amp;action=edit&amp;redlink=1" class="new" title="cpp/concept/SequenceContainer (page does not exist)"><tt>SequenceContainer</tt></a> and <a href="http://en.cppreference.com/mwiki/index.php?title=cpp/concept/ReversibleContainer&amp;action=edit&amp;redlink=1" class="new" title="cpp/concept/ReversibleContainer (page does not exist)"><tt>ReversibleContainer</tt></a>.
</p>
<table id="toc" class="toc"><tr><td>
<div id="toctitle"><h2>Contents</h2></div>
<ul>
<li class="toclevel-1 tocsection-1"><a href="#Specializations"><span class="tocnumber">1</span> <span class="toctext">Specializations</span></a></li>
<li class="toclevel-1 tocsection-2"><a href="#Member_types"><span class="tocnumber">2</span> <span class="toctext">Member types</span></a></li>
<li class="toclevel-1 tocsection-3">
<a href="#Member_functions"><span class="tocnumber">3</span> <span class="toctext">Member functions</span></a>
<ul>
<li class="toclevel-2"><a href="#Element_access"><span class="tocnumber">3.1</span> <span class="toctext">Element access</span></a></li>
<li class="toclevel-2"><a href="#Iterators"><span class="tocnumber">3.2</span> <span class="toctext">Iterators</span></a></li>
<li class="toclevel-2"><a href="#Capacity"><span class="tocnumber">3.3</span> <span class="toctext">Capacity</span></a></li>
<li class="toclevel-2"><a href="#Modifiers"><span class="tocnumber">3.4</span> <span class="toctext">Modifiers</span></a></li>
</ul>
</li>
<li class="toclevel-1 tocsection-4"><a href="#Non-member_functions"><span class="tocnumber">4</span> <span class="toctext">Non-member functions</span></a></li>
</ul>
</td></tr></table>
<h3>
<span class="editsection">[<a href="http://en.cppreference.com/mwiki/index.php?title=cpp/container/vector&amp;action=edit&amp;section=1" title="Edit section: Specializations">edit</a>]</span> <span class="mw-headline" id="Specializations">Specializations</span>
</h3>
<p>The standard library provides a specialization of <tt>std::vector</tt> for the type <span class="mw-geshi cpp source-cpp"><span class="kw4">bool</span></span>, which is optimized for space efficiency.
</p>
<table class="t-dcl-list-begin">
<tr><td colspan="2" class="t-dcl-list-sep">
</td></tr>
<tr class="t-dcl-list-item">
<td>  <div class="t-dcl-member-div"><div><a href="vector_bool.html" title="cpp/container/vector bool"> vector<span class="t-dcl-small">&lt;bool&gt;</span></a></div></div>
</td>
<td>   space-efficient dynamic bitset <br><span class="t-mark">(class template)</span> 
</td>
</tr>
</table>
<h3>
<span class="editsection">[<a href="http://en.cppreference.com/mwiki/index.php?title=cpp/container/vector&amp;action=edit&amp;section=2" title="Edit section: Member types">edit</a>]</span> <span class="mw-headline" id="Member_types">Member types</span>
</h3>
<table class="t-dcl-list-begin">
<tr><td colspan="2" class="t-dcl-list-sep">
</td></tr>
<tr class="t-dcl-list-hitem">
<td>  Member type
</td>
<td>  Definition
</td>
</tr>
<tr><td colspan="2" class="t-dcl-list-sep">
</td></tr>
<tr class="t-dcl-list-item">
<td>  <tt>value_type</tt>
</td>
<td>  <tt>T</tt> 
</td>
</tr>
<tr><td colspan="2" class="t-dcl-list-sep">
</td></tr>
<tr class="t-dcl-list-item">
<td>  <tt>allocator_type</tt>
</td>
<td>  <tt>Allocator</tt> 
</td>
</tr>
<tr><td colspan="2" class="t-dcl-list-sep">
</td></tr>
<tr class="t-dcl-list-item">
<td>  <tt>size_type</tt>
</td>
<td>  Unsigned integral type (usually <span class="mw-geshi cpp source-cpp">size_t</span>) 
</td>
</tr>
<tr><td colspan="2" class="t-dcl-list-sep">
</td></tr>
<tr class="t-dcl-list-item">
<td>  <tt>difference_type</tt>
</td>
<td>  Signed integer type (usually <span class="mw-geshi cpp source-cpp">ptrdiff_t</span>) 
</td>
</tr>
<tr><td colspan="2" class="t-dcl-list-sep">
</td></tr>
<tr class="t-dcl-list-item">
<td>  <tt>reference</tt>
</td>
<td>  <tt>Allocator::reference</tt> <span class="t-mark">(until C++11)</span><br><tt>value_type&amp;</tt> <span class="t-mark">(since C++11)</span> 
</td>
</tr>
<tr><td colspan="2" class="t-dcl-list-sep">
</td></tr>
<tr class="t-dcl-list-item">
<td>  <tt>const_reference</tt>
</td>
<td>  <tt>Allocator::const_reference</tt> <span class="t-mark">(until C++11)</span><br><tt>const value_type&amp;</tt> <span class="t-mark">(since C++11)</span> 
</td>
</tr>
<tr><td colspan="2" class="t-dcl-list-sep">
</td></tr>
<tr class="t-dcl-list-item">
<td>  <tt>pointer</tt>
</td>
<td>  <tt>Allocator::pointer</tt> <span class="t-mark">(until C++11)</span><br><span class="mw-geshi cpp source-cpp"><a href="../memory/allocator_traitshtml.html"><span class="kw568">std::<span class="me2">allocator_traits</span></span></a><span class="sy1">&lt;</span>Allocator<span class="sy1">&gt;</span><span class="sy4">::</span><span class="me2">pointer</span></span> <span class="t-mark">(since C++11)</span> 
</td>
</tr>
<tr><td colspan="2" class="t-dcl-list-sep">
</td></tr>
<tr class="t-dcl-list-item">
<td>  <tt>const_pointer</tt>
</td>
<td>  <span class="mw-geshi cpp source-cpp">Allocator<span class="sy4">::</span><span class="me2">const_pointer</span></span> <span class="t-mark">(until C++11)</span><br><span class="mw-geshi cpp source-cpp"><a href="../memory/allocator_traitshtml.html"><span class="kw568">std::<span class="me2">allocator_traits</span></span></a><span class="sy1">&lt;</span>Allocator<span class="sy1">&gt;</span><span class="sy4">::</span><span class="me2">const_pointer</span></span> <span class="t-mark">(since C++11)</span> 
</td>
</tr>
<tr><td colspan="2" class="t-dcl-list-sep">
</td></tr>
<tr class="t-dcl-list-item">
<td>  <tt>iterator</tt>
</td>
<td>  <a href="../concept/RandomAccessIterator.html" title="cpp/concept/RandomAccessIterator"><tt>RandomAccessIterator</tt></a> 
</td>
</tr>
<tr><td colspan="2" class="t-dcl-list-sep">
</td></tr>
<tr class="t-dcl-list-item">
<td>  <tt>const_iterator</tt>
</td>
<td>  Constant random access iterator 
</td>
</tr>
<tr><td colspan="2" class="t-dcl-list-sep">
</td></tr>
<tr class="t-dcl-list-item">
<td>  <code>reverse_iterator</code>
</td>
<td>  <span class="mw-geshi cpp source-cpp"><a href="../iterator/reverse_iterator.html"><span class="kw537">std::<span class="me2">reverse_iterator</span></span></a><span class="sy1">&lt;</span>iterator<span class="sy1">&gt;</span></span> 
</td>
</tr>
<tr><td colspan="2" class="t-dcl-list-sep">
</td></tr>
<tr class="t-dcl-list-item">
<td>  <code>const_reverse_iterator</code>
</td>
<td>  <span class="mw-geshi cpp source-cpp"><a href="../iterator/reverse_iterator.html"><span class="kw537">std::<span class="me2">reverse_iterator</span></span></a><span class="sy1">&lt;</span>const_iterator<span class="sy1">&gt;</span></span> 
</td>
</tr>
</table>
<h3>
<span class="editsection">[<a href="http://en.cppreference.com/mwiki/index.php?title=cpp/container/vector&amp;action=edit&amp;section=3" title="Edit section: Member functions">edit</a>]</span> <span class="mw-headline" id="Member_functions">Member functions</span>
</h3>
<table class="t-dcl-list-begin">
<tr><td colspan="2" class="t-dcl-list-sep">
</td></tr>
<tr class="t-dcl-list-item">
<td>  <div class="t-dcl-member-div t-dcl-member-nobold-div"><div><a href="vector/vector.html" title="cpp/container/vector/vector"> (constructor)</a></div></div>
</td>
<td>  constructs the <tt>vector</tt> <br><span class="t-mark">(public member function)</span> 
</td>
</tr>
<tr><td colspan="2" class="t-dcl-list-sep">
</td></tr>
<tr class="t-dcl-list-item">
<td>  <div class="t-dcl-member-div t-dcl-member-nobold-div"><div><a href="vector/_vector.html" title="cpp/container/vector/~vector"> (destructor)</a></div></div>
</td>
<td>  destructs the <tt>vector</tt> <br><span class="t-mark">(public member function)</span> 
</td>
</tr>
<tr><td colspan="2" class="t-dcl-list-sep">
</td></tr>
<tr class="t-dcl-list-item">
<td>  <div class="t-dcl-member-div"><div><a href="vector/operator%3d.html" title="cpp/container/vector/operator="> operator=</a></div></div>
</td>
<td>   assigns values to the container  <br><span class="t-mark">(public member function)</span> 
</td>
</tr>
<tr><td colspan="2" class="t-dcl-list-sep">
</td></tr>
<tr class="t-dcl-list-item">
<td>  <div class="t-dcl-member-div"><div><a href="vector/assign.html" title="cpp/container/vector/assign"> assign</a></div></div>
</td>
<td>   assigns values to the container  <br><span class="t-mark">(public member function)</span> 
</td>
</tr>
<tr><td colspan="2" class="t-dcl-list-sep">
</td></tr>
<tr class="t-dcl-list-item">
<td>  <div class="t-dcl-member-div"><div><a href="vector/get_allocator.html" title="cpp/container/vector/get allocator"> get_allocator</a></div></div>
</td>
<td>   returns the associated allocator  <br><span class="t-mark">(public member function)</span> 
</td>
</tr>
<tr><td colspan="2"> <h5> <span class="mw-headline" id="Element_access">  Element access </span>
</h5>
</td></tr>
<tr><td colspan="2" class="t-dcl-list-sep">
</td></tr>
<tr class="t-dcl-list-item">
<td>  <div class="t-dcl-member-div"><div><a href="vector/at.html" title="cpp/container/vector/at"> at</a></div></div>
</td>
<td>   access specified element with bounds checking  <br><span class="t-mark">(public member function)</span> 
</td>
</tr>
<tr><td colspan="2" class="t-dcl-list-sep">
</td></tr>
<tr class="t-dcl-list-item">
<td>  <div class="t-dcl-member-div"><div><a href="vector/operator_at.html" title="cpp/container/vector/operator at"> operator[]</a></div></div>
</td>
<td>   access specified element  <br><span class="t-mark">(public member function)</span> 
</td>
</tr>
<tr><td colspan="2" class="t-dcl-list-sep">
</td></tr>
<tr class="t-dcl-list-item">
<td>  <div class="t-dcl-member-div"><div><a href="vector/front.html" title="cpp/container/vector/front"> front</a></div></div>
</td>
<td>   access the first element  <br><span class="t-mark">(public member function)</span> 
</td>
</tr>
<tr><td colspan="2" class="t-dcl-list-sep">
</td></tr>
<tr class="t-dcl-list-item">
<td>  <div class="t-dcl-member-div"><div><a href="vector/back.html" title="cpp/container/vector/back"> back</a></div></div>
</td>
<td>   access the last element  <br><span class="t-mark">(public member function)</span> 
</td>
</tr>
<tr><td colspan="2" class="t-dcl-list-sep">
</td></tr>
<tr class="t-dcl-list-item">
<td>  <div class="t-dcl-member-div">
<div><a href="vector/data.html" title="cpp/container/vector/data"> data</a></div>
<div><span class="t-mark">(C++11)</span></div>
</div>
</td>
<td>   direct access to the underlying array  <br><span class="t-mark">(public member function)</span> 
</td>
</tr>
<tr><td colspan="2"> <h5> <span class="mw-headline" id="Iterators">  Iterators </span>
</h5>
</td></tr>
<tr><td colspan="2" class="t-dcl-list-sep">
</td></tr>
<tr class="t-dcl-list-item">
<td>  <div class="t-dcl-member-div">
<div><a href="vector/begin.html" title="cpp/container/vector/begin"> begin<br> cbegin</a></div>
<div><br></div>
</div>
</td>
<td>   returns an iterator to the beginning  <br><span class="t-mark">(public member function)</span> 
</td>
</tr>
<tr><td colspan="2" class="t-dcl-list-sep">
</td></tr>
<tr class="t-dcl-list-item">
<td>  <div class="t-dcl-member-div">
<div><a href="vector/end.html" title="cpp/container/vector/end"> end <br>cend</a></div>
<div><br></div>
</div>
</td>
<td>   returns an iterator to the end  <br><span class="t-mark">(public member function)</span> 
</td>
</tr>
<tr><td colspan="2" class="t-dcl-list-sep">
</td></tr>
<tr class="t-dcl-list-item">
<td>  <div class="t-dcl-member-div">
<div><a href="vector/rbegin.html" title="cpp/container/vector/rbegin"> rbegin<br> crbegin</a></div>
<div><br></div>
</div>
</td>
<td>   returns a reverse iterator to the beginning  <br><span class="t-mark">(public member function)</span> 
</td>
</tr>
<tr><td colspan="2" class="t-dcl-list-sep">
</td></tr>
<tr class="t-dcl-list-item">
<td>  <div class="t-dcl-member-div">
<div><a href="vector/rend.html" title="cpp/container/vector/rend"> rend<br> crend</a></div>
<div><br></div>
</div>
</td>
<td>   returns a reverse iterator to the end  <br><span class="t-mark">(public member function)</span> 
</td>
</tr>
<tr><td colspan="2"> <h5> <span class="mw-headline" id="Capacity">  Capacity </span>
</h5>
</td></tr>
<tr><td colspan="2" class="t-dcl-list-sep">
</td></tr>
<tr class="t-dcl-list-item">
<td>  <div class="t-dcl-member-div"><div><a href="vector/empty.html" title="cpp/container/vector/empty"> empty</a></div></div>
</td>
<td>   checks whether the container is empty  <br><span class="t-mark">(public member function)</span> 
</td>
</tr>
<tr><td colspan="2" class="t-dcl-list-sep">
</td></tr>
<tr class="t-dcl-list-item">
<td>  <div class="t-dcl-member-div"><div><a href="vector/size.html" title="cpp/container/vector/size"> size</a></div></div>
</td>
<td>   returns the number of elements  <br><span class="t-mark">(public member function)</span> 
</td>
</tr>
<tr><td colspan="2" class="t-dcl-list-sep">
</td></tr>
<tr class="t-dcl-list-item">
<td>  <div class="t-dcl-member-div"><div><a href="vector/max_size.html" title="cpp/container/vector/max size"> max_size</a></div></div>
</td>
<td>   returns the maximum possible number of elements  <br><span class="t-mark">(public member function)</span> 
</td>
</tr>
<tr><td colspan="2" class="t-dcl-list-sep">
</td></tr>
<tr class="t-dcl-list-item">
<td>  <div class="t-dcl-member-div"><div><a href="vector/reserve.html" title="cpp/container/vector/reserve"> reserve</a></div></div>
</td>
<td>   reserves storage <br><span class="t-mark">(public member function)</span> 
</td>
</tr>
<tr><td colspan="2" class="t-dcl-list-sep">
</td></tr>
<tr class="t-dcl-list-item">
<td>  <div class="t-dcl-member-div"><div><a href="vector/capacity.html" title="cpp/container/vector/capacity"> capacity</a></div></div>
</td>
<td>   returns the number of elements that can be held in currently allocated storage  <br><span class="t-mark">(public member function)</span> 
</td>
</tr>
<tr><td colspan="2" class="t-dcl-list-sep">
</td></tr>
<tr class="t-dcl-list-item">
<td>  <div class="t-dcl-member-div">
<div><a href="vector/shrink_to_fit.html" title="cpp/container/vector/shrink to fit"> shrink_to_fit</a></div>
<div><span class="t-mark">(C++11)</span></div>
</div>
</td>
<td>   reduces memory usage by freeing unused memory  <br><span class="t-mark">(public member function)</span> 
</td>
</tr>
<tr><td colspan="2"> <h5> <span class="mw-headline" id="Modifiers">  Modifiers </span>
</h5>
</td></tr>
<tr><td colspan="2" class="t-dcl-list-sep">
</td></tr>
<tr class="t-dcl-list-item">
<td>  <div class="t-dcl-member-div"><div><a href="vector/clear.html" title="cpp/container/vector/clear"> clear</a></div></div>
</td>
<td>   clears the contents  <br><span class="t-mark">(public member function)</span> 
</td>
</tr>
<tr><td colspan="2" class="t-dcl-list-sep">
</td></tr>
<tr class="t-dcl-list-item">
<td>  <div class="t-dcl-member-div"><div><a href="vector/insert.html" title="cpp/container/vector/insert"> insert</a></div></div>
</td>
<td>   inserts elements  <br><span class="t-mark">(public member function)</span> 
</td>
</tr>
<tr><td colspan="2" class="t-dcl-list-sep">
</td></tr>
<tr class="t-dcl-list-item">
<td>  <div class="t-dcl-member-div">
<div><a href="vector/emplace.html" title="cpp/container/vector/emplace"> emplace</a></div>
<div><span class="t-mark">(C++11)</span></div>
</div>
</td>
<td>   constructs element in-place  <br><span class="t-mark">(public member function)</span> 
</td>
</tr>
<tr><td colspan="2" class="t-dcl-list-sep">
</td></tr>
<tr class="t-dcl-list-item">
<td>  <div class="t-dcl-member-div"><div><a href="vector/erase.html" title="cpp/container/vector/erase"> erase</a></div></div>
</td>
<td>   erases elements  <br><span class="t-mark">(public member function)</span> 
</td>
</tr>
<tr><td colspan="2" class="t-dcl-list-sep">
</td></tr>
<tr class="t-dcl-list-item">
<td>  <div class="t-dcl-member-div"><div><a href="vector/push_back.html" title="cpp/container/vector/push back"> push_back</a></div></div>
</td>
<td>   adds elements to the end <br><span class="t-mark">(public member function)</span> 
</td>
</tr>
<tr><td colspan="2" class="t-dcl-list-sep">
</td></tr>
<tr class="t-dcl-list-item">
<td>  <div class="t-dcl-member-div">
<div><a href="vector/emplace_back.html" title="cpp/container/vector/emplace back"> emplace_back</a></div>
<div><span class="t-mark">(C++11)</span></div>
</div>
</td>
<td>   constructs elements in-place at the end  <br><span class="t-mark">(public member function)</span> 
</td>
</tr>
<tr><td colspan="2" class="t-dcl-list-sep">
</td></tr>
<tr class="t-dcl-list-item">
<td>  <div class="t-dcl-member-div"><div><a href="vector/pop_back.html" title="cpp/container/vector/pop back"> pop_back</a></div></div>
</td>
<td>   removes the last element  <br><span class="t-mark">(public member function)</span> 
</td>
</tr>
<tr><td colspan="2" class="t-dcl-list-sep">
</td></tr>
<tr class="t-dcl-list-item">
<td>  <div class="t-dcl-member-div"><div><a href="vector/resize.html" title="cpp/container/vector/resize"> resize</a></div></div>
</td>
<td>   changes the number of elements stored  <br><span class="t-mark">(public member function)</span> 
</td>
</tr>
<tr><td colspan="2" class="t-dcl-list-sep">
</td></tr>
<tr class="t-dcl-list-item">
<td>  <div class="t-dcl-member-div"><div><a href="vector/swap.html" title="cpp/container/vector/swap"> swap</a></div></div>
</td>
<td>   swaps the contents  <br><span class="t-mark">(public member function)</span> 
</td>
</tr>
</table>
<h3>
<span class="editsection">[<a href="http://en.cppreference.com/mwiki/index.php?title=cpp/container/vector&amp;action=edit&amp;section=4" title="Edit section: Non-member functions">edit</a>]</span> <span class="mw-headline" id="Non-member_functions">Non-member functions</span>
</h3>
<table class="t-dcl-list-begin">
<tr><td colspan="2" class="t-dcl-list-sep">
</td></tr>
<tr class="t-dcl-list-item">
<td>  <div class="t-dcl-member-div"><div><a href="vector/operator_cmp.html" title="cpp/container/vector/operator cmp"> operator==<br>operator!=<br>operator&lt;<br>operator&lt;=<br>operator&gt;<br>operator&gt;=</a></div></div>
</td>
<td>   lexicographically compares the values in the vector  <br><span class="t-mark">(function template)</span> 
</td>
</tr>
<tr><td colspan="2" class="t-dcl-list-sep">
</td></tr>
<tr class="t-dcl-list-item">
<td>  <div class="t-dcl-member-div"><div><a href="vector/swap2.html" title="cpp/container/vector/swap2"> std::swap<span class="t-dcl-small">(std::vector)</span></a></div></div>
</td>
<td>   specializes the <span class="mw-geshi cpp source-cpp"><a href="../algorithm/swap.html"><span class="kw1274">std::<span class="me2">swap</span></span></a></span> algorithm  <br><span class="t-mark">(function template)</span> 
</td>
</tr>
</table>
<!-- 
NewPP limit report
Preprocessor node count: 11937/1000000
Post-expand include size: 411566/2097152 bytes
Template argument size: 102524/2097152 bytes
Expensive parser function count: 0/100
--><!-- Saved in parser cache with key mwiki1-mwiki_en_:pcache:idhash:443-0!*!0!!en!*!* and timestamp 20120619125112 -->
</div>                    <!-- /bodycontent -->
                                        <!-- printfooter -->
                    <div class="printfooter">
                    Retrieved from "<a href="http://en.cppreference.com/mwiki/index.php?title=cpp/container/vector&amp;oldid=36403">http://en.cppreference.com/mwiki/index.php?title=cpp/container/vector&amp;oldid=36403</a>"                    </div>
                    <!-- /printfooter -->
                                                            <!-- catlinks -->
                    <div id="catlinks" class="catlinks catlinks-allhidden"></div>                    <!-- /catlinks -->
                                                            <div class="visualClear"></div>
                    <!-- debughtml -->
                                        <!-- /debughtml -->
                </div>
                <!-- /bodyContent -->
            </div>
        </div>
        <!-- /content -->
        <!-- footer -->
        
        <!-- /footer -->
        <script src="../../../common/loadac2a.php?debug=false&amp;lang=en&amp;modules=skins.cppreference2&amp;only=scripts&amp;skin=cppreference2&amp;*"></script><script>if(window.mw){
	mw.loader.load(["mediawiki.user", "mediawiki.util", "mediawiki.page.ready", "mediawiki.legacy.wikibits", "mediawiki.legacy.ajax"]);
}
</script><script src="../../../common/load345b.php?debug=false&amp;lang=en&amp;modules=site&amp;only=scripts&amp;skin=cppreference2&amp;*"></script><script>if(window.mw){
	mw.user.options.set({"ccmeonemails":0,"cols":80,"date":"default","diffonly":0,"disablemail":0,"disablesuggest":0,"editfont":"default","editondblclick":0,"editsection":0,"editsectiononrightclick":0,"enotifminoredits":0,"enotifrevealaddr":0,"enotifusertalkpages":1,"enotifwatchlistpages":0,"extendwatchlist":0,"externaldiff":0,"externaleditor":0,"fancysig":0,"forceeditsummary":0,"gender":"unknown","hideminor":0,"hidepatrolled":0,"highlightbroken":1,"imagesize":2,"justify":0,"math":1,"minordefault":0,"newpageshidepatrolled":0,"nocache":0,"noconvertlink":0,"norollbackdiff":0,"numberheadings":0,"previewonfirst":0,"previewontop":1,"quickbar":5,"rcdays":7,"rclimit":50,"rememberpassword":0,"rows":25,"searchlimit":20,"showhiddencats":0,"showjumplinks":1,"shownumberswatching":1,"showtoc":0,"showtoolbar":1,"skin":"cppreference2","stubthreshold":0,"thumbsize":2,"underline":2,"uselivepreview":0,"usenewrc":0,"watchcreations":0,"watchdefault":0,"watchdeletion":0,"watchlistdays":3,"watchlisthideanons":0
	,"watchlisthidebots":0,"watchlisthideliu":0,"watchlisthideminor":0,"watchlisthideown":0,"watchlisthidepatrolled":0,"watchmoves":0,"wllimit":250,"variant":"en","language":"en","searchNs0":true,"searchNs1":false,"searchNs2":false,"searchNs3":false,"searchNs4":false,"searchNs5":false,"searchNs6":false,"searchNs7":false,"searchNs8":false,"searchNs9":false,"searchNs10":false,"searchNs11":false,"searchNs12":false,"searchNs13":false,"searchNs14":false,"searchNs15":false});;mw.user.tokens.set({"editToken":"+\\","watchToken":false});;mw.loader.state({"user.options":"ready","user.tokens":"ready"});
	
	/* cache key: mwiki1-mwiki_en_:resourceloader:filter:minify-js:4:3740695a1552aee37d594967bd36f869 */
}
</script><script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script><script type="text/javascript">
var pageTracker = _gat._getTracker("UA-2828341-1");
pageTracker._trackPageview();
</script><!-- Served in 0.087 secs. -->
</body>
<!-- Cached 20120619125251 -->
</html>
