📄 qptrvector.html
字号:
<p> <a href="#sort">sort</a>()和<a href="#bsearch">bsearch</a>()函数需要<a href="#compareItems">compareItems</a>()像这里所描述的那样被实现。
<p> 这个函数不应该修改矢量因为一些常量函数会调用compareItems()。
<h3 class=fn>uint <a name="contains"></a>QPtrVector::contains ( const type * d ) const
</h3>
<p> 返回矢量中项<em>d</em>出现的次数。
<p> 比较项使用虚函数<a href="#compareItems">compareItems</a>()。
<p> <p>也可以参考<a href="#containsRef">containsRef</a>()。
<h3 class=fn>uint <a name="containsRef"></a>QPtrVector::containsRef ( const type * d ) const
</h3>
<p> 返回矢量中项指针<em>d</em>出现的次数。
<p> 这个函数<em>不</em>使用<a href="#compareItems">compareItems</a>()来比较项。
<p> <p>也可以参考<a href="#findRef">findRef</a>()。
<h3 class=fn>uint <a name="count"></a>QPtrVector::count () const<tt> [虚]</tt>
</h3>
<p> 返回矢量中项的数量。如果<a href="#count">count</a>()==0,这个矢量为空。
<p> <p>也可以参考<a href="#isEmpty">isEmpty</a>()和<a href="#size">size</a>()。
<p>从<a href="qptrcollection.html#count">QPtrCollection</a>中重新实现。
<h3 class=fn>type ** <a name="data"></a>QPtrVector::data () const
</h3>
返回指向实际矢量数据(type*的数组)的指针。
<p> 如果<a href="#data">data</a>()==0(零指针),矢量为零矢量。
<p> <p>也可以参考<a href="#isNull">isNull</a>()。
<h3 class=fn>bool <a name="fill"></a>QPtrVector::fill ( const type * d, int size = -1 )
</h3>
<p> 在矢量的所有位置插入项<em>d</em>。任何存在的项都被移除。如果<em>d</em>为0,这个矢量变为空。
<p> 如果<em>size</em>>=0,矢量首先被重新定义大小为<em>size</em>。默认情况下,<em>size</em>为-1。
<p> 如果成功,返回真,或者如果内存不能被分配(只有在重定义大小被需要的时候),返回假。
<p> <p>也可以参考<a href="#resize">resize</a>()、<a href="#insert">insert</a>()和<a href="#isEmpty">isEmpty</a>()。
<h3 class=fn>int <a name="find"></a>QPtrVector::find ( const type * d, uint i = 0 ) const
</h3>
<p> 在矢量中使用线性搜索找到项<em>d</em>第一次出现的位置。这个搜索从<em>i</em>位置开始,<em>i</em>必须小于<a href="#size">size</a>()。<em>i</em>默认为0,比如,搜索从矢量的开始处开始。
<p> 返回<em>d</em>的位置,或者如果<em>d</em>没有被找到,返回-1。
<p> 比较项使用虚函数<a href="#compareItems">compareItems</a>()。
<p> 使用更快的<a href="#bsearch">bsearch</a>()来搜索一个排好序的矢量。
<p> <p>也可以参考<a href="#findRef">findRef</a>()和<a href="#bsearch">bsearch</a>()。
<h3 class=fn>int <a name="findRef"></a>QPtrVector::findRef ( const type * d, uint i = 0 ) const
</h3>
<p> 在矢量中使用线性搜索找到项指针<em>d</em>第一次出现的位置。这个搜索从<em>i</em>位置开始,<em>i</em>必须小于<a href="#size">size</a>()。<em>i</em>默认为0,比如,搜索从矢量的开始处开始。
<p> 返回<em>d</em>的位置,或者如果<em>d</em>没有被找到,返回-1。
<p> 这个函数<em>不</em>使用<a href="#compareItems">compareItems</a>()来比较项。
<p> 使用更快的<a href="#bsearch">bsearch</a>()来搜索一个排好序的矢量。
<p> <p>也可以参考<a href="#find">find</a>()和<a href="#bsearch">bsearch</a>()。
<h3 class=fn>bool <a name="insert"></a>QPtrVector::insert ( uint i, const type * d )
</h3>
<p> 设置矢量中的位置<em>i</em>来包含项<em>d</em>。<em>i</em>必须小于<a href="#size">size</a>()。在<em>i</em>位置的任何以前的元素被移除了。
<p> <p>也可以参考<a href="#at">at</a>()。
<h3 class=fn>bool <a name="isEmpty"></a>QPtrVector::isEmpty () const
</h3>
<p> 如果矢量为空,返回真,否则返回假。
<p> <p>也可以参考<a href="#count">count</a>()。
<h3 class=fn>bool <a name="isNull"></a>QPtrVector::isNull () const
</h3>
<p> 如果矢量为零,返回真,否则返回假。
<p> 一个零矢量中<a href="#size">size</a>()== 0并且<a href="#data">data</a>()==0。
<p> <p>也可以参考<a href="#size">size</a>()。
<h3 class=fn><a href="qptrvector.html">QPtrVector</a><type> & <a name="operator-eq"></a>QPtrVector::operator= ( const <a href="qptrvector.html">QPtrVector</a><type> & v )
</h3>
<p> 把<em>v</em>赋值给这个矢量并且返回这个矢量的引用。
<p> 这个矢量首先被清空并且然后<em>v</em>所有的项都被复制到矢量中。只有指针被复制(比如,<a href="shclass.html#shallow-copy">浅复制</a>)。
<p> <p>也可以参考<a href="#clear">clear</a>()。
<h3 class=fn>bool <a name="operator-eq-eq"></a>QPtrVector::operator== ( const <a href="qptrvector.html">QPtrVector</a><type> & v ) const
</h3>
如果这个矢量和<em>v</em>相等,返回真,否则返回假。
<h3 class=fn>type * <a name="operator[]"></a>QPtrVector::operator[] ( int i ) const
</h3>
<p> 返回在位置<em>i</em>的项,或者如果在那个位置没有项,返回0。<em>i</em>必须小于<a href="#size">size</a>()。
<p> 等于<a href="#at">at</a>( <em>i</em> )。
<p> <p>也可以参考<a href="#at">at</a>()。
<h3 class=fn><a href="qdatastream.html">QDataStream</a> & <a name="read"></a>QPtrVector::read ( <a href="qdatastream.html">QDataStream</a> & s, <a href="qptrcollection.html#Item">QPtrCollection::Item</a> & item )<tt> [虚 保护]</tt>
</h3>
<p> 从流<em>s</em>中读入一个矢量项<em>item</em>并且返回流的引用。
<p> 默认实现是设置<em>item</em>为0。
<p> <p>也可以参考<a href="#write">write</a>()。
<h3 class=fn>bool <a name="remove"></a>QPtrVector::remove ( uint i )
</h3>
<p> 如果有的话,移除矢量中位置<em>i</em>的项。<em>i</em>必须小于<a href="#size">size</a>()。
<p> 只要<em>i</em>不超出范围,就返回真。
<p> <p>也可以参考<a href="#take">take</a>()和<a href="#at">at</a>()。
<h3 class=fn>bool <a name="resize"></a>QPtrVector::resize ( uint size )
</h3>
重定义(扩大或缩小)矢量的大小为<em>size</em>。如果<em>size</em>==0,数组变为零数组。
<p> 矢量中在<em>size</em>位置的或者超出的任何项被一出了。新的位置被初始化为0。
<p> 如果成功,返回真,或者如果内存不能被分配,返回假。
<p> <p>也可以参考<a href="#size">size</a>()和<a href="#isNull">isNull</a>()。
<h3 class=fn>void <a name="setAutoDelete"></a>QPtrCollection::setAutoDelete ( bool enable )
</h3>
<p> 如果<em>enable</em>为真,设置集合自动删除它的内容并且如果<em>enable</em>为假,就从不删除它们。
<p> 如果自动删除被打开,当集合被删除时,集合中的所有项都会被删除。如果集合拥有项的唯一指针,这个将是非常方便的。
<p> 为了安全,默认设置为假。如果你把它打开,在复制集合时请注意。你也许会发现你自己的两个集合删除相同的项。
<p> 注意在子类中自动删除设置也许会影响其它函数。例如,一个有remove()函数的子类将会从它的数据结构中移除这个项,并且如果自动删除生效,也将会删除这个项。
<p> <p>也可以参考<a href="qptrcollection.html#autoDelete">autoDelete</a>()。
<p>矢量:<a href="grapher-nsplugin-example.html#x2777">grapher/grapher.cpp</a>、<a href="scribble-example.html#x945">scribble/scribble.cpp</a>和<a href="bigtable-example.html#x1489">table/bigtable/main.cpp</a>。
<h3 class=fn>uint <a name="size"></a>QPtrVector::size () const
</h3>
<p> 返回矢量的大小,比如矢量位置的数量。这也是矢量中可以保存元素的最大数量。
<p> 如果<a href="#size">size</a>()==0,这个矢量为空矢量。
<p> <p>也可以参考<a href="#isNull">isNull</a>()、<a href="#resize">resize</a>()和<a href="#count">count</a>()。
<h3 class=fn>void <a name="sort"></a>QPtrVector::sort ()
</h3>
<p> 按升序排列项。任何空的位置将被放在最后面。
<p> <p> 比较项使用虚函数<a href="#compareItems">compareItems</a>()。
<p> <p>也可以参考<a href="#bsearch">bsearch</a>()。
<h3 class=fn>type * <a name="take"></a>QPtrVector::take ( uint i )
</h3>
<p> 返回矢量中位置<em>i</em>的项,并且从矢量中移除项。<em>i</em>必须小于<a href="#size">size</a>()。如果在位置<em>i</em>没有项,返回0。
<p> 与<a href="#remove">remove</a>()形成对照,这个函数<em>不</em>调用<a href="qptrcollection.html#deleteItem">deleteItem</a>()来比较项。
<p> <p>也可以参考<a href="#remove">remove</a>()和<a href="#at">at</a>()。
<h3 class=fn>void <a name="toList"></a>QPtrVector::toList ( QGList * list ) const
</h3>
<p> 复制这个矢量的所有项到列表<em>list</em>中。<em>list</em>首先被清空并且然后被添加到<em>list</em>中。
<p> <p>也可以参考<a href="qptrlist.html">QPtrList</a>、<a href="qptrstack.html">QPtrStack</a>和<a href="qptrqueue.html">QPtrQueue</a>。
<h3 class=fn><a href="qdatastream.html">QDataStream</a> & <a name="write"></a>QPtrVector::write ( <a href="qdatastream.html">QDataStream</a> & s, <a href="qptrcollection.html#Item">QPtrCollection::Item</a> item ) const<tt> [虚 保护]</tt>
</h3>
<p> 写一个矢量项<em>item</em>到流<em>s</em>中并且返回流的引用。
<p> 默认实现是不做任何事。
<p> <p>也可以参考<a href="#read">read</a>()。
<!-- eof -->
<hr><p>
这个文件是<a href="index.html">Qt工具包</a>一部分。
版权所有 © 1995-2002
<a href="http://www.trolltech.com/">Trolltech</a>。保留所有权利。
<p><address><hr><div align=center>
<table width=100% cellspacing=0 border=0><tr>
<td>Copyright © 2002
<a href="http://www.trolltech.com">Trolltech</a>
<td><a href="http://www.trolltech.com/trademarks.html">Trademarks</a>
<td><a href="zh_CN.html">译者:Cavendish</a>
<td align=right><div align=right>Qt 3.0.5版</div>
</table></div></address></body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -