<!DOCTYPE html>
<html><head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
<title>vector - C++ Reference</title>
<link href="http://www.cplusplus.com/reference/vector/vector/" rel="canonical"/>
<link href="/favicon.ico" rel="shortcut icon" type="image/x-icon"/>
<link href="/v321/main.css" rel="stylesheet" type="text/css"/>
<script src="/v321/main.js" type="text/javascript"></script>
<script type="text/javascript">
var googletag = googletag || {};
googletag.cmd = googletag.cmd || [];
(function() {
var gads = document.createElement('script');
gads.async = true;
gads.type = 'text/javascript';
var useSSL = 'https:' == document.location.protocol;
gads.src = (useSSL ? 'https:' : 'http:') + 
'//www.googletagservices.com/tag/js/gpt.js';
var node = document.getElementsByTagName('script')[0];
node.parentNode.insertBefore(gads, node);
})();
</script>

<script type="text/javascript">
googletag.cmd.push(function() {
googletag.defineSlot('/32882001/L', [728, 90], 'div-gpt-ad-1427191279638-0').addService(googletag.pubads());
googletag.enableServices();
});
</script>
</head>
<body>
<div id="I_top">
<div id="I_header">
<div id="I_logo"><a href="/" title="cplusplus.com"><div></div></a></div>
<div id="I_search">
<form action="/search.do" id="search" method="get">
Search: <input class="txt" name="q" size="20"/> <input class="btn" type="submit" value="Go"/>
</form>
</div>
<div id="I_bar">
<ul>
<li><a href="/reference/">Reference</a></li>
<li><a href="/reference/vector/">&lt;vector&gt;</a></li>
<li class="here">vector</li>
</ul>
</div>
<div class="C_LoginBox" id="I_user"><span title="ajax"></span></div>
</div>
</div>
<div id="I_mid">
<div id="I_wrap">
<div id="I_minheight"></div>
<div id="I_main">
<div class="C_support">
<div id="div-gpt-ad-1427191279638-0" style="width:728px; height:90px;">
<script type="text/javascript">
googletag.cmd.push(function() { googletag.display('div-gpt-ad-1427191279638-0'); });
</script>
</div>
</div>
<div id="I_content">
<div class="C_doc">
<div id="I_type">class template
</div>
<div id="I_file">&lt;vector&gt;
</div>
<h1><span class="namespace" title="namespace std">std::</span>vector</h1>
<div class="C_prototype"><pre>template &lt; class T, class Alloc = allocator&lt;T&gt; &gt; class vector; // generic template
</pre></div><div id="I_description">Vector</div>
<section id="description">
Vectors are sequence containers representing arrays that can change in size.<br/>
<br/>
Just like arrays, vectors use contiguous storage locations for their elements, which means that their elements can also be accessed using offsets on regular pointers to its elements, and just as efficiently as in arrays. But unlike arrays, their  size can change dynamically, with their storage being handled automatically by the container.<br/>
<br/>
Internally, vectors use a dynamically allocated array to store their elements. This array may need to be reallocated in order to grow in size when new elements are inserted, which implies allocating a new array and moving all elements to it. This is a relatively expensive task in terms of processing time, and thus, vectors do not reallocate each time an element is added to the container.<br/>
<br/>
Instead, vector containers may allocate some extra storage to accommodate for possible growth, and thus the container may have an actual <a href="/vector::capacity">capacity</a> greater than the storage strictly needed to contain its elements (i.e., its <a href="/vector::size">size</a>). Libraries can implement different strategies for growth to balance between memory usage and reallocations, but in any case, reallocations should only happen at logarithmically growing intervals of <a href="/vector::size">size</a> so that the insertion of individual elements at the end of the vector can be provided with <i>amortized constant time</i> complexity (see <a href="/vector::push_back">push_back</a>).<br/>
<br/>
Therefore, compared to arrays, vectors consume more memory in exchange for the ability to manage storage and grow dynamically in an efficient way.<br/>
<br/>
Compared to the other dynamic sequence containers (<a href="/deque">deques</a>, <a href="/list">lists</a> and <a href="/forward_list">forward_lists</a>), vectors are very efficient accessing its elements (just like arrays) and relatively efficient adding or removing elements from its <a href="/vector::end">end</a>. For operations that involve inserting or removing elements at positions other than the end, they perform worse than the others, and have less consistent iterators and references than <a href="/list">lists</a> and <a href="/forward_list">forward_lists</a>.<br/>
</section>
<br/>
<section id="properties">
<h3>Container properties</h3>
<dl>
<dt>Sequence</dt>
<dd>Elements in sequence containers are ordered in a strict linear sequence. Individual elements are accessed by their position in this sequence.</dd>
<dt>Dynamic array</dt>
<dd>Allows direct access to any element in the sequence, even through pointer arithmetics, and provides relatively fast addition/removal of elements at the end of the sequence.</dd>
<dt>Allocator-aware</dt>
<dd>The container uses an allocator object to dynamically handle its storage needs.</dd>
</dl>
</section>
<br/>
<section id="parameters">
<h3>Template parameters</h3>
<dl>
<dt>T</dt>
<dd>Type of the elements.<br/>
Only if <tt>T</tt> <a href="/is_nothrow_move_constructible">is guaranteed to not throw while moving</a>, implementations can optimize to move elements instead of copying them during reallocations.<br/>
Aliased as member type <tt>vector::value_type</tt>.</dd>
<dt>Alloc</dt>
<dd>Type of the allocator object used to define the storage allocation model. By default, the <a href="/allocator">allocator</a> class template is used, which defines the simplest memory allocation model and is value-independent.<br/>
Aliased as member type <tt>vector::allocator_type</tt>.</dd>
</dl>
</section>
<br/>
<section id="types">
<h3>Member types</h3>
<div class="C_SwitchCases">
<div title="C++98">
<table class="boxed">
<tbody><tr><th>member type</th><th>definition</th><th>notes</th></tr>
<tr><td><tt>value_type</tt></td><td>The first template parameter (<tt>T</tt>)</td><td></td></tr>
<tr><td><tt>allocator_type</tt></td><td>The second template parameter (<tt>Alloc</tt>)</td><td>defaults to: <tt><a href="/allocator">allocator</a>&lt;value_type&gt;</tt></td></tr>
<tr><td><tt>reference</tt></td><td><tt>allocator_type::reference</tt></td><td>for the default <a href="/allocator">allocator</a>: <tt>value_type&amp;</tt></td></tr>
<tr><td><tt>const_reference</tt></td><td><tt>allocator_type::const_reference</tt></td><td>for the default <a href="/allocator">allocator</a>: <tt>const value_type&amp;</tt></td></tr>
<tr><td><tt>pointer</tt></td><td><tt>allocator_type::pointer</tt></td><td>for the default <a href="/allocator">allocator</a>: <tt>value_type*</tt></td></tr>
<tr><td><tt>const_pointer</tt></td><td><tt>allocator_type::const_pointer</tt></td><td>for the default <a href="/allocator">allocator</a>: <tt>const value_type*</tt></td></tr>
<tr><td><tt>iterator</tt></td><td>a <a href="/RandomAccessIterator">random access iterator</a> to <tt>value_type</tt></td><td>convertible to <tt>const_iterator</tt></td></tr>
<tr><td><tt>const_iterator</tt></td><td>a <a href="/RandomAccessIterator">random access iterator</a> to <tt>const value_type</tt></td><td></td></tr>
<tr><td><tt>reverse_iterator</tt></td><td><tt><a href="/reverse_iterator">reverse_iterator</a>&lt;iterator&gt;</tt></td><td></td></tr>
<tr><td><tt>const_reverse_iterator</tt></td><td><tt><a href="/reverse_iterator">reverse_iterator</a>&lt;const_iterator&gt;</tt></td><td></td></tr>
<tr><td><tt>difference_type</tt></td><td>a signed integral type, identical to: <tt>iterator_traits&lt;iterator&gt;::difference_type</tt></td><td>usually the same as <a href="/ptrdiff_t">ptrdiff_t</a></td></tr>
<tr><td><tt>size_type</tt></td><td>an unsigned integral type that can represent any non-negative value of <tt>difference_type</tt></td><td>usually the same as <a href="/size_t">size_t</a></td></tr>
</tbody></table>
</div>
<div title="C++11">
<table class="boxed">
<tbody><tr><th>member type</th><th>definition</th><th>notes</th></tr>
<tr><td><tt>value_type</tt></td><td>The first template parameter (<tt>T</tt>)</td><td></td></tr>
<tr><td><tt>allocator_type</tt></td><td>The second template parameter (<tt>Alloc</tt>)</td><td>defaults to: <tt><a href="/allocator">allocator</a>&lt;value_type&gt;</tt></td></tr>
<tr><td><tt>reference</tt></td><td><tt>value_type&amp;</tt></td><td></td></tr>
<tr><td><tt>const_reference</tt></td><td><tt>const value_type&amp;</tt></td><td></td></tr>
<tr><td><tt>pointer</tt></td><td><tt><a href="/allocator_traits">allocator_traits</a>&lt;allocator_type&gt;::pointer</tt></td><td>for the default <a href="/allocator">allocator</a>: <tt>value_type*</tt></td></tr>
<tr><td><tt>const_pointer</tt></td><td><tt><a href="/allocator_traits">allocator_traits</a>&lt;allocator_type&gt;::const_pointer</tt></td><td>for the default <a href="/allocator">allocator</a>: <tt>const value_type*</tt></td></tr>
<tr><td><tt>iterator</tt></td><td>a <a href="/RandomAccessIterator">random access iterator</a> to <tt>value_type</tt></td><td>convertible to <tt>const_iterator</tt></td></tr>
<tr><td><tt>const_iterator</tt></td><td>a <a href="/RandomAccessIterator">random access iterator</a> to <tt>const value_type</tt></td><td></td></tr>
<tr><td><tt>reverse_iterator</tt></td><td><tt><a href="/reverse_iterator">reverse_iterator</a>&lt;iterator&gt;</tt></td><td></td></tr>
<tr><td><tt>const_reverse_iterator</tt></td><td><tt><a href="/reverse_iterator">reverse_iterator</a>&lt;const_iterator&gt;</tt></td><td></td></tr>
<tr><td><tt>difference_type</tt></td><td>a signed integral type, identical to:<br/>
<tt>iterator_traits&lt;iterator&gt;::difference_type</tt></td><td>usually the same as <a href="/ptrdiff_t">ptrdiff_t</a></td></tr>
<tr><td><tt>size_type</tt></td><td>an unsigned integral type that can represent any non-negative value of <tt>difference_type</tt></td><td>usually the same as <a href="/size_t">size_t</a></td></tr>
</tbody></table>
</div>
</div>
</section>
<br/>
<section id="functions">
<h3>Member functions</h3>
<dl class="links"><dt><a href="/reference/vector/vector/vector/"><b>(constructor)</b></a></dt><dd>Construct vector <span class="typ">(public member function
)</span></dd></dl><dl class="links"><dt><a href="/reference/vector/vector/~vector/"><b>(destructor)</b></a></dt><dd>Vector destructor <span class="typ">(public member function
)</span></dd></dl><dl class="links"><dt><a href="/reference/vector/vector/operator=/"><b>operator=</b></a></dt><dd>Assign content <span class="typ">(public member function
)</span></dd></dl>
<br/>
<b>Iterators</b>:<br/>
<dl class="links"><dt><a href="/reference/vector/vector/begin/"><b>begin</b></a></dt><dd>Return iterator to beginning <span class="typ">(public member function
)</span></dd></dl><dl class="links"><dt><a href="/reference/vector/vector/end/"><b>end</b></a></dt><dd>Return iterator to end <span class="typ">(public member function
)</span></dd></dl><dl class="links"><dt><a href="/reference/vector/vector/rbegin/"><b>rbegin</b></a></dt><dd>Return reverse iterator to reverse beginning <span class="typ">(public member function
)</span></dd></dl><dl class="links"><dt><a href="/reference/vector/vector/rend/"><b>rend</b></a></dt><dd>Return reverse iterator to reverse end <span class="typ">(public member function
)</span></dd></dl><dl class="links"><dt><a href="/reference/vector/vector/cbegin/"><b>cbegin <b class="C_cpp11" title="C++11 only"></b></b></a></dt><dd>Return const_iterator to beginning <span class="typ">(public member function
)</span></dd></dl><dl class="links"><dt><a href="/reference/vector/vector/cend/"><b>cend <b class="C_cpp11" title="C++11 only"></b></b></a></dt><dd>Return const_iterator to end <span class="typ">(public member function
)</span></dd></dl><dl class="links"><dt><a href="/reference/vector/vector/crbegin/"><b>crbegin <b class="C_cpp11" title="C++11 only"></b></b></a></dt><dd>Return const_reverse_iterator to reverse beginning <span class="typ">(public member function
)</span></dd></dl><dl class="links"><dt><a href="/reference/vector/vector/crend/"><b>crend <b class="C_cpp11" title="C++11 only"></b></b></a></dt><dd>Return const_reverse_iterator to reverse end <span class="typ">(public member function
)</span></dd></dl>
<br/>
<b>Capacity</b>:<br/>
<dl class="links"><dt><a href="/reference/vector/vector/size/"><b>size</b></a></dt><dd>Return size <span class="typ">(public member function
)</span></dd></dl><dl class="links"><dt><a href="/reference/vector/vector/max_size/"><b>max_size</b></a></dt><dd>Return maximum size <span class="typ">(public member function
)</span></dd></dl><dl class="links"><dt><a href="/reference/vector/vector/resize/"><b>resize</b></a></dt><dd>Change size <span class="typ">(public member function
)</span></dd></dl><dl class="links"><dt><a href="/reference/vector/vector/capacity/"><b>capacity</b></a></dt><dd>Return size of allocated storage capacity <span class="typ">(public member function
)</span></dd></dl><dl class="links"><dt><a href="/reference/vector/vector/empty/"><b>empty</b></a></dt><dd>Test whether vector is empty <span class="typ">(public member function
)</span></dd></dl><dl class="links"><dt><a href="/reference/vector/vector/reserve/"><b>reserve</b></a></dt><dd>Request a change in capacity <span class="typ">(public member function
)</span></dd></dl><dl class="links"><dt><a href="/reference/vector/vector/shrink_to_fit/"><b>shrink_to_fit <b class="C_cpp11" title="C++11 only"></b></b></a></dt><dd>Shrink to fit <span class="typ">(public member function
)</span></dd></dl>
<br/>
<b>Element access</b>:<br/>
<dl class="links"><dt><a href="/reference/vector/vector/operator[]/"><b>operator[]</b></a></dt><dd>Access element <span class="typ">(public member function
)</span></dd></dl><dl class="links"><dt><a href="/reference/vector/vector/at/"><b>at</b></a></dt><dd>Access element <span class="typ">(public member function
)</span></dd></dl><dl class="links"><dt><a href="/reference/vector/vector/front/"><b>front</b></a></dt><dd>Access first element <span class="typ">(public member function
)</span></dd></dl><dl class="links"><dt><a href="/reference/vector/vector/back/"><b>back</b></a></dt><dd>Access last element <span class="typ">(public member function
)</span></dd></dl><dl class="links"><dt><a href="/reference/vector/vector/data/"><b>data <b class="C_cpp11" title="C++11 only"></b></b></a></dt><dd>Access data <span class="typ">(public member function
)</span></dd></dl>
<br/>
<b>Modifiers</b>:<br/>
<dl class="links"><dt><a href="/reference/vector/vector/assign/"><b>assign</b></a></dt><dd>Assign vector content <span class="typ">(public member function
)</span></dd></dl><dl class="links"><dt><a href="/reference/vector/vector/push_back/"><b>push_back</b></a></dt><dd>Add element at the end <span class="typ">(public member function
)</span></dd></dl><dl class="links"><dt><a href="/reference/vector/vector/pop_back/"><b>pop_back</b></a></dt><dd>Delete last element <span class="typ">(public member function
)</span></dd></dl><dl class="links"><dt><a href="/reference/vector/vector/insert/"><b>insert</b></a></dt><dd>Insert elements <span class="typ">(public member function
)</span></dd></dl><dl class="links"><dt><a href="/reference/vector/vector/erase/"><b>erase</b></a></dt><dd>Erase elements <span class="typ">(public member function
)</span></dd></dl><dl class="links"><dt><a href="/reference/vector/vector/swap/"><b>swap</b></a></dt><dd>Swap content <span class="typ">(public member function
)</span></dd></dl><dl class="links"><dt><a href="/reference/vector/vector/clear/"><b>clear</b></a></dt><dd>Clear content <span class="typ">(public member function
)</span></dd></dl><dl class="links"><dt><a href="/reference/vector/vector/emplace/"><b>emplace <b class="C_cpp11" title="C++11 only"></b></b></a></dt><dd>Construct and insert element <span class="typ">(public member function
)</span></dd></dl><dl class="links"><dt><a href="/reference/vector/vector/emplace_back/"><b>emplace_back <b class="C_cpp11" title="C++11 only"></b></b></a></dt><dd>Construct and insert element at the end <span class="typ">(public member function
)</span></dd></dl>
<br/>
<b>Allocator</b>:<br/>
<dl class="links"><dt><a href="/reference/vector/vector/get_allocator/"><b>get_allocator</b></a></dt><dd>Get allocator <span class="typ">(public member function
)</span></dd></dl>
<br/>
<h3>Non-member function overloads</h3>
<dl class="links"><dt><a href="/reference/vector/vector/operators/"><b>relational operators</b></a></dt><dd>Relational operators for vector <span class="typ">(function template
)</span></dd></dl><dl class="links"><dt><a href="/reference/vector/vector/swap-free/"><b>swap</b></a></dt><dd>Exchange contents of vectors <span class="typ">(function template
)</span></dd></dl>
</section>
<br/>
<section id="instantiation">
<h3>Template specializations</h3>
<dl class="links"><dt><a href="/reference/vector/vector-bool/"><b>vector&lt;bool&gt;</b></a></dt><dd>Vector of bool <span class="typ">(class template specialization
)</span></dd></dl>
</section></div><div id="CH_bb"></div></div>
<script type="text/javascript">
    google_ad_client = "ca-pub-1444228343479937";
    google_ad_slot = "9701143201";
    google_ad_width = 728;
    google_ad_height = 90;
</script>
<!-- leaderboard -->
<script src="//pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript">
</script></div>
<div id="I_nav">
<div class="sect root">
<h3><b><a href="/">C++</a></b></h3>
<ul>
<li class="folder info"><a href="/info/">Information</a></li>
<li class="folder doc"><a href="/doc/">Tutorials</a></li>
<li class="folder selected reference"><a href="/reference/">Reference</a></li>
<li class="folder articles"><a href="/articles/">Articles</a></li>
<li class="folder forum"><a href="/forum/">Forum</a></li>
</ul>
</div>
<div class="C_BoxLabels C_BoxSort sect" id="reference_box">
<h3><b><a href="/reference/">Reference</a></b></h3>
<ul>
<li class="C_Collapsable collapsed"><h4><a href="/reference/clibrary/">C library:</a></h4><ul>
<li class="c90 c99 arm cpp98 cpp11 folder"><a href="/reference/cassert/"><span>&lt;cassert&gt; (assert.h)</span></a></li>
<li class="c90 c99 arm cpp98 cpp11 folder"><a href="/reference/cctype/"><span>&lt;cctype&gt; (ctype.h)</span></a></li>
<li class="c90 c99 arm cpp98 cpp11 folder"><a href="/reference/cerrno/"><span>&lt;cerrno&gt; (errno.h)</span></a></li>
<li class="c99 cpp11 folder"><a href="/reference/cfenv/"><span>&lt;cfenv&gt; (fenv.h)</span></a></li>
<li class="c90 c99 arm cpp98 cpp11 folder"><a href="/reference/cfloat/"><span>&lt;cfloat&gt; (float.h)</span></a></li>
<li class="c99 cpp11 folder"><a href="/reference/cinttypes/"><span>&lt;cinttypes&gt; (inttypes.h)</span></a></li>
<li class="c90 c99 arm cpp98 cpp11 folder"><a href="/reference/ciso646/"><span>&lt;ciso646&gt; (iso646.h)</span></a></li>
<li class="c90 c99 arm cpp98 cpp11 folder"><a href="/reference/climits/"><span>&lt;climits&gt; (limits.h)</span></a></li>
<li class="c90 c99 arm cpp98 cpp11 folder"><a href="/reference/clocale/"><span>&lt;clocale&gt; (locale.h)</span></a></li>
<li class="c90 c99 arm cpp98 cpp11 folder"><a href="/reference/cmath/"><span>&lt;cmath&gt; (math.h)</span></a></li>
<li class="c90 c99 arm cpp98 cpp11 folder"><a href="/reference/csetjmp/"><span>&lt;csetjmp&gt; (setjmp.h)</span></a></li>
<li class="c90 c99 arm cpp98 cpp11 folder"><a href="/reference/csignal/"><span>&lt;csignal&gt; (signal.h)</span></a></li>
<li class="c90 c99 arm cpp98 cpp11 folder"><a href="/reference/cstdarg/"><span>&lt;cstdarg&gt; (stdarg.h)</span></a></li>
<li class="cpp11 folder"><a href="/reference/cstdbool/"><span>&lt;cstdbool&gt; (stdbool.h)</span></a></li>
<li class="c90 c99 arm cpp98 cpp11 folder"><a href="/reference/cstddef/"><span>&lt;cstddef&gt; (stddef.h)</span></a></li>
<li class="c99 cpp11 folder"><a href="/reference/cstdint/"><span>&lt;cstdint&gt; (stdint.h)</span></a></li>
<li class="c90 c99 arm cpp98 cpp11 folder"><a href="/reference/cstdio/"><span>&lt;cstdio&gt; (stdio.h)</span></a></li>
<li class="c90 c99 arm cpp98 cpp11 folder"><a href="/reference/cstdlib/"><span>&lt;cstdlib&gt; (stdlib.h)</span></a></li>
<li class="c90 c99 arm cpp98 cpp11 folder"><a href="/reference/cstring/"><span>&lt;cstring&gt; (string.h)</span></a></li>
<li class="c99 cpp11 folder"><a href="/reference/ctgmath/"><span>&lt;ctgmath&gt; (tgmath.h)</span></a></li>
<li class="c90 c99 arm cpp98 cpp11 folder"><a href="/reference/ctime/"><span>&lt;ctime&gt; (time.h)</span></a></li>
<li class="cpp11 folder"><a href="/reference/cuchar/"><span>&lt;cuchar&gt; (uchar.h)</span></a></li>
<li class="c90 c99 arm cpp98 cpp11 folder"><a href="/reference/cwchar/"><span>&lt;cwchar&gt; (wchar.h)</span></a></li>
<li class="c90 c99 arm cpp98 cpp11 folder"><a href="/reference/cwctype/"><span>&lt;cwctype&gt; (wctype.h)</span></a></li>
</ul></li>
<li class="C_Collapsable"><h4><a href="/reference/stl/">Containers:</a></h4><ul>
<li class="cpp11 folder"><a href="/reference/array/"><span>&lt;array&gt;</span></a></li>
<li class="cpp98 cpp11 folder"><a href="/reference/deque/"><span>&lt;deque&gt;</span></a></li>
<li class="cpp11 folder"><a href="/reference/forward_list/"><span>&lt;forward_list&gt;</span></a></li>
<li class="cpp98 cpp11 folder"><a href="/reference/list/"><span>&lt;list&gt;</span></a></li>
<li class="cpp98 cpp11 folder"><a href="/reference/map/"><span>&lt;map&gt;</span></a></li>
<li class="cpp98 cpp11 folder"><a href="/reference/queue/"><span>&lt;queue&gt;</span></a></li>
<li class="cpp98 cpp11 folder"><a href="/reference/set/"><span>&lt;set&gt;</span></a></li>
<li class="cpp98 cpp11 folder"><a href="/reference/stack/"><span>&lt;stack&gt;</span></a></li>
<li class="cpp11 folder"><a href="/reference/unordered_map/"><span>&lt;unordered_map&gt;</span></a></li>
<li class="cpp11 folder"><a href="/reference/unordered_set/"><span>&lt;unordered_set&gt;</span></a></li>
<li class="cpp98 cpp11 selected folder"><a href="/reference/vector/"><span>&lt;vector&gt;</span></a></li>
</ul></li>
<li class="C_Collapsable collapsed"><h4><a href="/reference/iolibrary/">Input/Output:</a></h4><ul>
<li class="cpp98 cpp11 folder"><a href="/reference/fstream/"><span>&lt;fstream&gt;</span></a></li>
<li class="cpp98 cpp11 folder"><a href="/reference/iomanip/"><span>&lt;iomanip&gt;</span></a></li>
<li class="cpp98 cpp11 folder"><a href="/reference/ios/"><span>&lt;ios&gt;</span></a></li>
<li class="cpp98 cpp11 folder"><a href="/reference/iosfwd/"><span>&lt;iosfwd&gt;</span></a></li>
<li class="cpp98 cpp11 folder"><a href="/reference/iostream/"><span>&lt;iostream&gt;</span></a></li>
<li class="cpp98 cpp11 folder"><a href="/reference/istream/"><span>&lt;istream&gt;</span></a></li>
<li class="cpp98 cpp11 folder"><a href="/reference/ostream/"><span>&lt;ostream&gt;</span></a></li>
<li class="cpp98 cpp11 folder"><a href="/reference/sstream/"><span>&lt;sstream&gt;</span></a></li>
<li class="cpp98 cpp11 folder"><a href="/reference/streambuf/"><span>&lt;streambuf&gt;</span></a></li>
</ul></li>
<li class="C_Collapsable collapsed"><h4><a href="/reference/multithreading/">Multi-threading:</a></h4><ul>
<li class="cpp11 folder"><a href="/reference/atomic/"><span>&lt;atomic&gt;</span></a></li>
<li class="cpp11 folder"><a href="/reference/condition_variable/"><span>&lt;condition_variable&gt;</span></a></li>
<li class="cpp11 folder"><a href="/reference/future/"><span>&lt;future&gt;</span></a></li>
<li class="cpp11 folder"><a href="/reference/mutex/"><span>&lt;mutex&gt;</span></a></li>
<li class="cpp11 folder"><a href="/reference/thread/"><span>&lt;thread&gt;</span></a></li>
</ul></li>
<li class="C_Collapsable collapsed"><h4><a href="/reference/std/">Other:</a></h4><ul>
<li class="cpp98 cpp11 folder"><a href="/reference/algorithm/"><span>&lt;algorithm&gt;</span></a></li>
<li class="cpp98 cpp11 folder"><a href="/reference/bitset/"><span>&lt;bitset&gt;</span></a></li>
<li class="cpp11 folder"><a href="/reference/chrono/"><span>&lt;chrono&gt;</span></a></li>
<li class="cpp11 folder"><a href="/reference/codecvt/"><span>&lt;codecvt&gt;</span></a></li>
<li class="cpp98 cpp11 folder"><a href="/reference/complex/"><span>&lt;complex&gt;</span></a></li>
<li class="cpp98 cpp11 folder"><a href="/reference/exception/"><span>&lt;exception&gt;</span></a></li>
<li class="cpp98 cpp11 folder"><a href="/reference/functional/"><span>&lt;functional&gt;</span></a></li>
<li class="cpp11 folder"><a href="/reference/initializer_list/"><span>&lt;initializer_list&gt;</span></a></li>
<li class="cpp98 cpp11 folder"><a href="/reference/iterator/"><span>&lt;iterator&gt;</span></a></li>
<li class="cpp98 cpp11 folder"><a href="/reference/limits/"><span>&lt;limits&gt;</span></a></li>
<li class="cpp98 cpp11 folder"><a href="/reference/locale/"><span>&lt;locale&gt;</span></a></li>
<li class="cpp98 cpp11 folder"><a href="/reference/memory/"><span>&lt;memory&gt;</span></a></li>
<li class="cpp98 cpp11 folder"><a href="/reference/new/"><span>&lt;new&gt;</span></a></li>
<li class="cpp98 cpp11 folder"><a href="/reference/numeric/"><span>&lt;numeric&gt;</span></a></li>
<li class="cpp11 folder"><a href="/reference/random/"><span>&lt;random&gt;</span></a></li>
<li class="cpp11 folder"><a href="/reference/ratio/"><span>&lt;ratio&gt;</span></a></li>
<li class="cpp11 folder"><a href="/reference/regex/"><span>&lt;regex&gt;</span></a></li>
<li class="cpp98 cpp11 folder"><a href="/reference/stdexcept/"><span>&lt;stdexcept&gt;</span></a></li>
<li class="cpp98 cpp11 folder"><a href="/reference/string/"><span>&lt;string&gt;</span></a></li>
<li class="cpp11 folder"><a href="/reference/system_error/"><span>&lt;system_error&gt;</span></a></li>
<li class="cpp11 folder"><a href="/reference/tuple/"><span>&lt;tuple&gt;</span></a></li>
<li class="cpp11 folder"><a href="/reference/typeindex/"><span>&lt;typeindex&gt;</span></a></li>
<li class="cpp98 cpp11 folder"><a href="/reference/typeinfo/"><span>&lt;typeinfo&gt;</span></a></li>
<li class="cpp11 folder"><a href="/reference/type_traits/"><span>&lt;type_traits&gt;</span></a></li>
<li class="cpp98 cpp11 folder"><a href="/reference/utility/"><span>&lt;utility&gt;</span></a></li>
<li class="cpp98 cpp11 folder"><a href="/reference/valarray/"><span>&lt;valarray&gt;</span></a></li>
</ul></li>
</ul>
</div>
<div class="C_BoxLabels C_BoxSort sect cpp98 cpp11" id="vector_box">
<h3><b><a href="/reference/vector/">&lt;vector&gt;</a></b></h3>
<ul>
<li class="cpp98 cpp11 selected folder"><a href="/reference/vector/vector/"><span>vector</span></a></li>
<li class="cpp98 cpp11 folder"><a href="/reference/vector/vector-bool/"><span>vector&lt;bool&gt;</span></a></li>
</ul>
</div>
<div class="C_BoxLabels C_BoxSort sect cpp98 cpp11" id="vector_box">
<h3><b><a href="/reference/vector/vector/">vector</a></b></h3>
<ul>
<li class="cpp98 cpp11"><a href="/reference/vector/vector/vector/"><span>vector::vector</span></a></li>
<li class="cpp98 cpp11"><a href="/reference/vector/vector/~vector/"><span>vector::~vector</span></a></li>
<li class="C_Collapsable"><h4>member functions:</h4><ul>
<li class="cpp98 cpp11"><a href="/reference/vector/vector/assign/"><span>vector::assign</span></a></li>
<li class="cpp98 cpp11"><a href="/reference/vector/vector/at/"><span>vector::at</span></a></li>
<li class="cpp98 cpp11"><a href="/reference/vector/vector/back/"><span>vector::back</span></a></li>
<li class="cpp98 cpp11"><a href="/reference/vector/vector/begin/"><span>vector::begin</span></a></li>
<li class="cpp98 cpp11"><a href="/reference/vector/vector/capacity/"><span>vector::capacity</span></a></li>
<li class="cpp11"><a href="/reference/vector/vector/cbegin/"><span>vector::cbegin</span></a></li>
<li class="cpp11"><a href="/reference/vector/vector/cend/"><span>vector::cend</span></a></li>
<li class="cpp98 cpp11"><a href="/reference/vector/vector/clear/"><span>vector::clear</span></a></li>
<li class="cpp11"><a href="/reference/vector/vector/crbegin/"><span>vector::crbegin</span></a></li>
<li class="cpp11"><a href="/reference/vector/vector/crend/"><span>vector::crend</span></a></li>
<li class="cpp11"><a href="/reference/vector/vector/data/"><span>vector::data</span></a></li>
<li class="cpp11"><a href="/reference/vector/vector/emplace/"><span>vector::emplace</span></a></li>
<li class="cpp11"><a href="/reference/vector/vector/emplace_back/"><span>vector::emplace_back</span></a></li>
<li class="cpp98 cpp11"><a href="/reference/vector/vector/empty/"><span>vector::empty</span></a></li>
<li class="cpp98 cpp11"><a href="/reference/vector/vector/end/"><span>vector::end</span></a></li>
<li class="cpp98 cpp11"><a href="/reference/vector/vector/erase/"><span>vector::erase</span></a></li>
<li class="cpp98 cpp11"><a href="/reference/vector/vector/front/"><span>vector::front</span></a></li>
<li class="cpp98 cpp11"><a href="/reference/vector/vector/get_allocator/"><span>vector::get_allocator</span></a></li>
<li class="cpp98 cpp11"><a href="/reference/vector/vector/insert/"><span>vector::insert</span></a></li>
<li class="cpp98 cpp11"><a href="/reference/vector/vector/max_size/"><span>vector::max_size</span></a></li>
<li class="cpp98 cpp11"><a href="/reference/vector/vector/operator=/"><span>vector::operator=</span></a></li>
<li class="cpp98 cpp11"><a href="/reference/vector/vector/operator[]/"><span>vector::operator[]</span></a></li>
<li class="cpp98 cpp11"><a href="/reference/vector/vector/pop_back/"><span>vector::pop_back</span></a></li>
<li class="cpp98 cpp11"><a href="/reference/vector/vector/push_back/"><span>vector::push_back</span></a></li>
<li class="cpp98 cpp11"><a href="/reference/vector/vector/rbegin/"><span>vector::rbegin</span></a></li>
<li class="cpp98 cpp11"><a href="/reference/vector/vector/rend/"><span>vector::rend</span></a></li>
<li class="cpp98 cpp11"><a href="/reference/vector/vector/reserve/"><span>vector::reserve</span></a></li>
<li class="cpp98 cpp11"><a href="/reference/vector/vector/resize/"><span>vector::resize</span></a></li>
<li class="cpp11"><a href="/reference/vector/vector/shrink_to_fit/"><span>vector::shrink_to_fit</span></a></li>
<li class="cpp98 cpp11"><a href="/reference/vector/vector/size/"><span>vector::size</span></a></li>
<li class="cpp98 cpp11"><a href="/reference/vector/vector/swap/"><span>vector::swap</span></a></li>
</ul></li>
<li class="C_Collapsable"><h4>non-member overloads:</h4><ul>
<li class="cpp98 cpp11"><a href="/reference/vector/vector/operators/"><span>relational operators (vector)</span></a></li>
<li class="cpp98 cpp11"><a href="/reference/vector/vector/swap-free/"><span>swap (vector)</span></a></li>
</ul></li>
</ul>
</div>
<div id="I_subnav"></div>
<div class="C_ad234">
<script type="text/javascript"><!--
google_ad_client = "ca-pub-7688470879129516";
google_ad_slot = "7445514729";
google_ad_width = 234;
google_ad_height = 60;
//-->
</script>
<script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript">
</script>
</div></div>
<div id="I_midclear"></div>
</div>
</div>
<div id="I_bottom">
<div id="I_footer">
	<a href="/">Home page</a> | <a href="/privacy.do">Privacy policy</a><br/>© cplusplus.com, 2000-2016 - All rights reserved - <i>v3.1</i><br/><a href="/contact.do?referrer=www.cplusplus.com%2Freference%2Fvector%2Fvector%2F">Spotted an error? contact us</a>
</div>
</div>

<script type="text/javascript">
<!--
 onSession ( function(us) {
		el=document.getElementById('CH_bb'); el.innerHTML='';
		if (us.auth(4096)) {
			el.appendChild(btn('New Page','New Page','new','/reference/new.cgi?a=vector+vector'));
			el.appendChild(btn('Edit Page','Edit Page','edit','/reference/edit.cgi?a=vector+vector'));
			
		}
	});
	function docdel() { if (confirm('WARNING: You are about to delete this page. Confirm?')) window.location='/reference/delete.cgi?a=vector+vector'; }
	ready();
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-521783-1']);
_gaq.push(['_trackPageview']);

(function() {
  var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
  ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
  var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();

//-->
</script>


</body></html>