📄 sequence.html
字号:
<TD VAlign=top><tt>size() == n</tt>. Every element is a copy of <tt>t</tt>.</TD></TR><TR><TD VAlign=top>Fill constructor</TD><TD VAlign=top><tt>X a(n, t);</tt></TD><TD VAlign=top><tt>n >= 0</tt></TD><TD VAlign=top>Creates a sequence with <tt>n</tt> copies of <tt>t</tt></TD><TD VAlign=top><tt>a.size() == n</tt>. Every element of <tt>a</tt> is a copy of <tt>t</tt>.</TD></TR><TR><TD VAlign=top>Default fill constructor</TD><TD VAlign=top><tt>X(n)</tt></TD><TD VAlign=top><tt>n >= 0</tt></TD><TD VAlign=top>Creates a sequence of <tt>n</tt> elements initialized to a default value.</TD><TD VAlign=top><tt>size() == n</tt>. Every element is a copy of <tt>T()</tt>.</TD></TR><TR><TD VAlign=top>Default fill constructor</TD><TD VAlign=top><tt>X a(n, t);</tt></TD><TD VAlign=top><tt>n >= 0</tt></TD><TD VAlign=top>Creates a sequence with <tt>n</tt> elements initialized to a default value.</TD><TD VAlign=top><tt>a.size() == n</tt>. Every element of <tt>a</tt> is a copy of <tt>T()</tt>.</TD></TR><TR><TD VAlign=top>Default constructor</TD><TD VAlign=top><tt>X a;</tt> or <tt>X()</tt></TD><TD VAlign=top> </TD><TD VAlign=top>Equivalent to <tt>X(0)</tt>.</TD><TD VAlign=top><tt>size() == 0</tt>.</TD></TR><TR><TD VAlign=top>Range constructor</TD><TD VAlign=top><tt>X(i, j)</tt></TD><TD VAlign=top><tt>[i,j)</tt> is a valid range.</TD><TD VAlign=top>Creates a sequence that is a copy of the range <tt>[i,j)</tt></TD><TD VAlign=top><tt>size()</tt> is equal to the distance from <tt>i</tt> to <tt>j</tt>. Each element is a copy of the corresponding element in the range <tt>[i,j)</tt>.</TD></TR><TR><TD VAlign=top>Range constructor</TD><TD VAlign=top><tt>X a(i, j);</tt></TD><TD VAlign=top><tt>[i,j)</tt> is a valid range.</TD><TD VAlign=top>Creates a sequence that is a copy of the range <tt>[i,j)</tt></TD><TD VAlign=top><tt>a.size()</tt> is equal to the distance from <tt>i</tt> to <tt>j</tt>. Each element in <tt>a</tt> is a copy of the corresponding element in the range <tt>[i,j)</tt>.</TD></TR><TR><TD VAlign=top>Front</TD><TD VAlign=top><tt>a.front()</tt></TD><TD VAlign=top><tt>!a.empty()</tt></TD><TD VAlign=top>Equivalent to <tt>*(a.first())</tt></TD><TD VAlign=top> </TD></TR><TR><TD VAlign=top>Insert</TD><TD VAlign=top><tt>a.insert(p, t)</tt></TD><TD VAlign=top><tt>p</tt> is a valid iterator in <tt>a</tt>. <tt>a.size() < a.max_size()</tt></TD><TD VAlign=top>A copy of <tt>t</tt> is inserted before <tt>p</tt>. <A href="#2">[2]</A> <A href="#3">[3]</A></TD><TD VAlign=top><tt>a.size()</tt> is incremented by 1. <tt>*(a.insert(p,t))</tt> is a copy of <tt>t</tt>. The relative order of elements already in the sequence is unchanged.</TD></TR><TR><TD VAlign=top>Fill insert</TD><TD VAlign=top><tt>a.insert(p, n, t)</tt></TD><TD VAlign=top><tt>p</tt> is a valid iterator in <tt>a</tt>. <tt>n >= 0 && a.size() + n <= a.max_size()</tt>.</TD><TD VAlign=top><tt>n</tt> copies of <tt>t</tt> are inserted before <tt>p</tt>. <A href="#2">[2]</A> <A href="#3">[3]</A> <A href="#4">[4]</A></TD><TD VAlign=top><tt>a.size()</tt> is incremented by n. The relative order of elements already in the sequence is unchanged. </TD></TR><TR><TD VAlign=top>Range insert</TD><TD VAlign=top><tt>a.insert(p, i, j)</tt></TD><TD VAlign=top><tt>[i,j)</tt> is a valid range. <tt>a.size()</tt> plus the distance from <tt>i</tt> to <tt>j</tt> does not exceed <tt>a.max_size()</tt>.</TD><TD VAlign=top>Inserts a copy of the range <tt>[i,j)</tt> before <tt>p</tt>. <A href="#1">[1]</A> <A href="#2">[2]</A> <A href="#3">[3]</A></TD><TD VAlign=top><tt>a.size()</tt> is incremented by the distance from <tt>i</tt> to <tt>j</tt>. The relative order of elements already in the sequence is unchanged. </TD></TR><TR><TD VAlign=top>Erase</TD><TD VAlign=top><tt>a.erase(p)</tt></TD><TD VAlign=top><tt>p</tt> is a dereferenceable iterator in <tt>a</tt>.</TD><TD VAlign=top>Destroys the element pointed to by <tt>p</tt> and removes it from <tt>a</tt>. <A href="#3">[3]</A></TD><TD VAlign=top><tt>a.size()</tt> is decremented by 1. The relative order of the other elements in the sequence is unchanged. The return value is an iterator to the element immediately following the one that was erased.</TD></TR><TR><TD VAlign=top>Range erase</TD><TD VAlign=top><tt>a.erase(p,q)</tt></TD><TD VAlign=top><tt>[p,q)</tt> is a valid range in <tt>a</tt>.</TD><TD VAlign=top>Destroys the elements in the range <tt>[p,q)</tt> and removes them from <tt>a</tt>. <A href="#3">[3]</A></TD><TD VAlign=top><tt>a.size()</tt> is decremented by the distance from <tt>i</tt> to <tt>j</tt>. The relative order of the other elements in the sequence is unchanged. The return value is an iterator to the element immediately following the ones that were erased.</TD></TR><TR><TD VAlign=top>Clear</TD><TD VAlign=top><tt>a.clear()</tt></TD><TD VAlign=top> </TD><TD VAlign=top>Equivalent to <tt>a.erase(a.begin(), a.end())</tt></TD><TD VAlign=top> </TD></TR><TR><TD VAlign=top>Resize</TD><TD VAlign=top><tt>a.resize(n, t)</tt></TD><TD VAlign=top><tt>n <= a.max_size()</tt></TD><TD VAlign=top>Modifies the container so that it has exactly <tt>n</tt> elements, inserting elements at the end or erasing elements from the end if necessary. If any elements are inserted, they are copies of <tt>t</tt>. If <tt>n > a.size()</tt>, this expression is equivalent to <tt>a.insert(a.end(), n - size(), t)</tt>. If <tt>n < a.size()</tt>, it is equivalent to <tt>a.erase(a.begin() + n, a.end())</tt>.</TD><TD VAlign=top><tt>a.size() == n</tt></TD></TR><TR><TD VAlign=top>Resize</TD><TD VAlign=top><tt>a.resize(n)</tt></TD><TD VAlign=top><tt>n <= a.max_size()</tt></TD><TD VAlign=top>Equivalent to <tt>a.resize(n, T())</tt>.</TD><TD VAlign=top><tt>a.size() == n</tt></TD></tr></table><h3>Complexity guarantees</h3>The fill constructor, default fill constructor, and range constructor are linear.<P>Front is amortized constant time.<P>Fill insert, range insert, and range erase are linear.<P>The complexities of single-element insert and erase are sequence dependent.<h3>Invariants</h3><h3>Models</h3><UL><LI> <A href="Vector.html">vector</A> <A href="#5">[5]</A><LI> <A href="Deque.html">deque</A><LI> <A href="List.html">list</A><LI> <A href="Slist.html">slist</A></UL><h3>Notes</h3><P><A name="1">[1]</A>At present (early 1998), not all compilers support"member templates". If your compiler supports membertemplates then <tt>i</tt> and <tt>j</tt> may be of any type thatconforms to the <A href="InputIterator.html">Input Iterator</A>requirements. If your compiler does not yet support membertemplates, however, then <tt>i</tt> and <tt>j</tt> must be of type<tt>const T*</tt> or of type <tt>X::const_iterator</tt>.<P><A name="2">[2]</A>Note that <tt>p</tt> equal to <tt>a.begin()</tt> means to insertsomething at the beginning of <tt>a</tt> (that is, before any elementsalready in <tt>a</tt>), and <tt>p</tt> equal to <tt>a.end()</tt> meansto append something to the end of <tt>a</tt>.<P><A name="3">[3]</A><b>Warning</b>: there is no guarantee that a valid iterator on<tt>a</tt> is still valid after an insertion or an erasure. In somecases iterators do remain valid, and in other cases they do not. Thedetails are different for each sequence class.<P><A name="4">[4]</A><tt>a.insert(p, n, t)</tt> is guaranteed to be no slower then calling<tt>a.insert(p, t)</tt> <tt>n</tt> times. In some cases it is significantlyfaster.<P><A name="5">[5]</A><A href="Vector.html">Vector</A> is usually preferable to<A href="Deque.html">deque</A> and <A href="List.html">list</A>. <A href="Deque.html">Deque</A> is useful in the case of frequentinsertions at both the beginning and end of the sequence, and<A href="List.html">list</A> and <A href="Slist.html">slist</A> are useful in the case of frequent insertionsin the middle of the sequence. In almost all other situations,<A href="Vector.html">vector</A> is more efficient.<h3>See also</h3><A href="Container.html">Container</A>, <A href="ForwardContainer.html">Forward Container</A>, <A href="AssociativeContainer.html">Associative Container</A>, <A href="FrontInsertionSequence.html">Front Insertion Sequence</A>, <A href="BackInsertionSequence.html">Back Insertion Sequence</A>, <tt><A href="Vector.html">vector</A></tt>, <tt><A href="Deque.html">deque</A></tt>,<tt><A href="List.html">list</A></tt>,<tt><A href="Slist.html">slist</A></tt><!-- start footer --><!-- Footer Begins --><STYLE TYPE="text/css"><!--TD.footer, TD.footer A{ font-family: Arial, helvetica, sans-serif; font-size: 8pt;}A.home {font-family: Arial, helvetica, sans-serif;}--></STYLE><P><A CLASS="home" HREF="index.html">STL Home</A><P><TABLE WIDTH="600" CELLPADDING="0" CELLPADDING="0" BORDER="0"> <TR> <TD ALIGN="RIGHT" CLASS="footer"><A HREF="/company_info/terms.html" TARGET="_top">terms of use</A> | <A HREF="/company_info/privacy.html" TARGET="_top">privacy policy</A></TD> <TD ALIGN="CENTER" CLASS="footer"> | </TD> <TD ALIGN="LEFT" CLASS="footer"><A HREF="/cgi-bin/feedback/" TARGET="_top">contact us</A></TD> </TR><TR> <TD ALIGN="RIGHT" CLASS="footer">Copyright © 1993-2003 Silicon Graphics, Inc. All rights reserved.</TD> <TD ALIGN="CENTER" CLASS="footer"> | </TD> <TD ALIGN="LEFT" CLASS="footer"><A HREF="/company_info/trademarks/" TARGET="_top">Trademark Information</A></TD> </TR></TABLE><!-- Footer Ends --><!-- end footer --><P></BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -