PageRenderTime 54ms CodeModel.GetById 21ms RepoModel.GetById 0ms app.codeStats 0ms

/orig/stl/vector/capacity.html

http://github.com/kazuho/cppref
HTML | 169 lines | 130 code | 32 blank | 7 comment | 0 complexity | 7e5c93f37c87236addac5193c73e8703 MD5 | raw file
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  2. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"
  4. lang="en" dir="ltr">
  5. <head>
  6. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  7. <title>
  8. capacity [C++ Reference]
  9. </title>
  10. <meta name="generator" content="DokuWiki Release 2009-12-25c &quot;Lemming&quot;" />
  11. <meta name="robots" content="index,follow" />
  12. <meta name="date" content="2010-04-08T07:24:43-0700" />
  13. <meta name="keywords" content="stl,vector,capacity" />
  14. <link rel="search" type="application/opensearchdescription+xml" href="/wiki/lib/exe/opensearch.php" title="C++ Reference" />
  15. <link rel="start" href="/wiki/" />
  16. <link rel="contents" href="/wiki/stl/vector/capacity?do=index" title="Index" />
  17. <link rel="alternate" type="application/rss+xml" title="Recent Changes" href="/wiki/feed.php" />
  18. <link rel="alternate" type="application/rss+xml" title="Current Namespace" href="/wiki/feed.php?mode=list&amp;ns=stl:vector" />
  19. <link rel="edit" title="Edit this page" href="/wiki/stl/vector/capacity?do=edit" />
  20. <link rel="alternate" type="text/html" title="Plain HTML" href="/wiki/_export/xhtml/stl/vector/capacity" />
  21. <link rel="alternate" type="text/plain" title="Wiki Markup" href="/wiki/_export/raw/stl/vector/capacity" />
  22. <link rel="canonical" href="http://www.cppreference.com/wiki/stl/vector/capacity" />
  23. <link rel="stylesheet" media="all" type="text/css" href="/wiki/lib/exe/css.php?s=all&amp;t=custom1&amp;tseed=1272971091" />
  24. <link rel="stylesheet" media="screen" type="text/css" href="/wiki/lib/exe/css.php?t=custom1&amp;tseed=1272971091" />
  25. <link rel="stylesheet" media="print" type="text/css" href="/wiki/lib/exe/css.php?s=print&amp;t=custom1&amp;tseed=1272971091" />
  26. <script type="text/javascript" charset="utf-8" ><!--//--><![CDATA[//><!--
  27. var NS='stl:vector';var JSINFO = {"id":"stl:vector:capacity","namespace":"stl:vector"};
  28. //--><!]]></script>
  29. <script type="text/javascript" charset="utf-8" src="/wiki/lib/exe/js.php?tseed=1272971091" ></script>
  30. <link rel="shortcut icon" href="/wiki/lib/tpl/custom1/images/favicon.png" />
  31. </head>
  32. <body>
  33. <div class="dokuwiki">
  34. <div class="stylehead">
  35. <div class="header">
  36. <div class="pagename">
  37. [[<a href="../../stl/vector/capacity.html" title="Backlinks">capacity</a>]]
  38. </div>
  39. <div class="logo">
  40. <a href="http://www.cppreference.com" name="dokuwiki__top" id="dokuwiki__top" accesskey="h" title="[ALT+H]">C++ Reference</a> </div>
  41. <div class="clearer"></div>
  42. </div>
  43. <div class="breadcrumbs">
  44. <span class="bchead">You are here: </span><a href="../../start.html" title="start">C++ Reference</a> &raquo; <a href="../../stl/start.html" title="stl:start">C++ Standard Template Library</a> &raquo; <a href="../../stl/vector/start.html" title="stl:vector:start">C++ Vectors</a> &raquo; <a href="../../stl/vector/capacity.html" title="stl:vector:capacity">capacity</a> </div>
  45. </div>
  46. <div class="plugin_translation"><span>Translations of this page<sup><a href="../../localization.html" class="wikilink1" title="localization">?</a></sup>:</span> <ul> <li><div class="li"><span class="curid"><a href="../../stl/vector/capacity.html" class="wikilink1" title="stl:vector:capacity">en</a></span></div></li> <li><div class="li"><a href="../../br-pt/stl/vector/capacity.html" class="wikilink2" title="br-pt:stl:vector:capacity" rel="nofollow">br-pt</a></div></li> <li><div class="li"><a href="../../cn/stl/vector/capacity.html" class="wikilink2" title="cn:stl:vector:capacity" rel="nofollow">cn</a></div></li> <li><div class="li"><a href="../../cz/stl/vector/capacity.html" class="wikilink2" title="cz:stl:vector:capacity" rel="nofollow">cz</a></div></li> <li><div class="li"><a href="../../de/stl/vector/capacity.html" class="wikilink2" title="de:stl:vector:capacity" rel="nofollow">de</a></div></li> <li><div class="li"><a href="../../es/stl/vector/capacity.html" class="wikilink2" title="es:stl:vector:capacity" rel="nofollow">es</a></div></li> <li><div class="li"><a href="../../fr/stl/vector/capacity.html" class="wikilink1" title="fr:stl:vector:capacity">fr</a></div></li> <li><div class="li"><a href="../../it/stl/vector/capacity.html" class="wikilink1" title="it:stl:vector:capacity">it</a></div></li> <li><div class="li"><a href="../../jp/stl/vector/capacity.html" class="wikilink2" title="jp:stl:vector:capacity" rel="nofollow">jp</a></div></li> <li><div class="li"><a href="../../nl/stl/vector/capacity.html" class="wikilink2" title="nl:stl:vector:capacity" rel="nofollow">nl</a></div></li> <li><div class="li"><a href="../../pl/stl/vector/capacity.html" class="wikilink2" title="pl:stl:vector:capacity" rel="nofollow">pl</a></div></li> <li><div class="li"><a href="../../ro/stl/vector/capacity.html" class="wikilink2" title="ro:stl:vector:capacity" rel="nofollow">ro</a></div></li> <li><div class="li"><a href="../../ru/stl/vector/capacity.html" class="wikilink1" title="ru:stl:vector:capacity">ru</a></div></li> <li><div class="li"><a href="../../sk/stl/vector/capacity.html" class="wikilink2" title="sk:stl:vector:capacity" rel="nofollow">sk</a></div></li> <li><div class="li"><a href="../../tr/stl/vector/capacity.html" class="wikilink2" title="tr:stl:vector:capacity" rel="nofollow">tr</a></div></li> <li><div class="li"><a href="../../tw/stl/vector/capacity.html" class="wikilink2" title="tw:stl:vector:capacity" rel="nofollow">tw</a></div></li></ul></div>
  47. <div class="page">
  48. <script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
  49. </script>
  50. <script type="text/javascript">
  51. _uacct = "UA-2828341-1";
  52. urchinTracker();
  53. </script>
  54. <!-- wikipage start -->
  55. <h2><a name="capacity" id="capacity">capacity</a></h2>
  56. <div class="level2">
  57. <p>
  58. Syntax:
  59. </p>
  60. <pre class="c code c++" style="font-family:monospace;"> <span class="co2">#include &lt;vector&gt;</span>
  61. size_type capacity<span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="kw4">const</span><span class="sy0">;</span></pre>
  62. <p>
  63. The <code>capacity</code> method returns the number of elements that the vector can hold
  64. before it will need to allocate more space.
  65. </p>
  66. <p>
  67. For example, the following code uses two different methods to set the capacity
  68. of two vectors. One method passes an argument to the constructor that initializes
  69. the vector with 10 elements of value 0, and the other method calls the <a href="../../stl/vector/reserve.html" class="wikilink1" title="stl:vector:reserve">reserve</a> method.
  70. However, the actual size of the vector remains zero.
  71. </p>
  72. <pre class="c code c++" style="font-family:monospace;"> vector<span class="sy0">&lt;</span>int<span class="sy0">&gt;</span> v1<span class="br0">&#40;</span>10<span class="br0">&#41;</span><span class="sy0">;</span>
  73. <a href="http://www.opengroup.org/onlinepubs/009695399/functions/cout.html"><span class="kw3">cout</span></a> <span class="sy0">&lt;&lt;</span> <span class="st0">&quot;The capacity of v1 is &quot;</span> <span class="sy0">&lt;&lt;</span> v1.<span class="me1">capacity</span><span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="sy0">&lt;&lt;</span> endl<span class="sy0">;</span>
  74. <a href="http://www.opengroup.org/onlinepubs/009695399/functions/cout.html"><span class="kw3">cout</span></a> <span class="sy0">&lt;&lt;</span> <span class="st0">&quot;The size of v1 is &quot;</span> <span class="sy0">&lt;&lt;</span> v1.<span class="me1">size</span><span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="sy0">&lt;&lt;</span> endl<span class="sy0">;</span>
  75. vector<span class="sy0">&lt;</span>int<span class="sy0">&gt;</span> v2<span class="sy0">;</span>
  76. v2.<span class="me1">reserve</span><span class="br0">&#40;</span>20<span class="br0">&#41;</span><span class="sy0">;</span>
  77. <a href="http://www.opengroup.org/onlinepubs/009695399/functions/cout.html"><span class="kw3">cout</span></a> <span class="sy0">&lt;&lt;</span> <span class="st0">&quot;The capacity of v2 is &quot;</span> <span class="sy0">&lt;&lt;</span> v2.<span class="me1">capacity</span><span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="sy0">&lt;&lt;</span> endl<span class="sy0">;</span>
  78. <a href="http://www.opengroup.org/onlinepubs/009695399/functions/cout.html"><span class="kw3">cout</span></a> <span class="sy0">&lt;&lt;</span> <span class="st0">&quot;The size of v2 is &quot;</span> <span class="sy0">&lt;&lt;</span> v2.<span class="me1">size</span><span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="sy0">&lt;&lt;</span> endl<span class="sy0">;</span></pre>
  79. <p>
  80. When run, the above code produces the following output:
  81. </p>
  82. <pre class="code">
  83. The capacity of v1 is 10
  84. The size of v1 is 10
  85. The capacity of v2 is 20
  86. The size of v2 is 0</pre>
  87. <p>
  88. C++ containers are designed to grow in size dynamically. This frees the
  89. programmer from having to worry about storing an arbitrary number of elements
  90. in a container. However, sometimes the programmer can improve the performance
  91. of their program by giving hints to the compiler about the size of the containers
  92. that the program will use. These hints come in the form of the <a href="../../stl/vector/reserve.html" class="wikilink1" title="stl:vector:reserve">reserve</a>
  93. method and the constructor used in the above example, which tell the compiler
  94. how large the container is expected to get.
  95. </p>
  96. <p>
  97. The <code>capacity</code> method runs in <a href="../../complexity.html" class="wikilink1" title="complexity">constant time</a>.
  98. </p>
  99. <p>
  100. Related Topics: <a href="../../stl/vector/reserve.html" class="wikilink1" title="stl:vector:reserve">reserve</a>, <a href="../../stl/vector/resize.html" class="wikilink1" title="stl:vector:resize">resize</a>, <a href="../../stl/vector/size.html" class="wikilink1" title="stl:vector:size">size</a>
  101. </p>
  102. </div>
  103. <div class="secedit"><form class="button btn_secedit" method="post" action="/wiki/stl/vector/capacity"><div class="no"><input type="hidden" name="do" value="edit" /><input type="hidden" name="lines" value="3-" /><input type="hidden" name="rev" value="1270736683" /><input type="submit" value="Edit" class="button" title="capacity" /></div></form></div>
  104. <!-- wikipage stop -->
  105. </div>
  106. <div class="clearer">&nbsp;</div>
  107. <div class="stylefoot">
  108. <div class="meta">
  109. <div class="user">
  110. </div>
  111. <!--
  112. <div class="doc">
  113. stl/vector/capacity.txt &middot; Last modified: 04/08/2010 07:24 by nate </div>
  114. -->
  115. </div>
  116. <div class="bar" id="bar__bottom">
  117. <div class="bar-left" id="bar__bottomleft">
  118. <a href="../../stl/vector/capacity.html" class="action edit" accesskey="e" rel="nofollow">Edit this page</a> &#149;
  119. <a href="../../stl/vector/capacity.html" class="action revisions" accesskey="o" rel="nofollow">Old revisions</a> </div>
  120. <div class="bar-right" id="bar__bottomright">
  121. &#149;
  122. &#149;
  123. &#149;
  124. <a href="../../stl/vector/capacity.html" class="action login" rel="nofollow">Login</a> &#149;
  125. <a href="../../stl/vector/capacity.html" class="action index" accesskey="x" rel="nofollow">Index</a> &#149;
  126. <a href="../../stl/vector/capacity.html" class="action recent" accesskey="r" rel="nofollow">Recent changes</a> &#149;
  127. <a href="../../feed.php.html" title="Recent changes RSS feed">RSS</a> &#149;
  128. <a href='http://creativecommons.org/licenses/by/3.0/us/' title='Creative Commons license'>cc</a> &#149;
  129. <form action="/wiki/" accept-charset="utf-8" class="search" id="dw__search"><div class="no"><input type="hidden" name="do" value="search" /><input type="text" id="qsearch__in" accesskey="f" name="id" class="edit" title="[ALT+F]" /><input type="submit" value="Search" class="button" title="Search" /><div id="qsearch__out" class="ajax_qsearch JSpopup"></div></div></form>&nbsp;
  130. </div>
  131. <div class="clearer"></div>
  132. </div>
  133. </div>
  134. </div>
  135. <div class="no"><img src="/wiki/lib/exe/indexer.php?id=stl%3Avector%3Acapacity&amp;1273197096" width="1" height="1" alt="" /></div>
  136. </body>
  137. </html>