?? qptrlist.html
字號:
</h3>
返回指向當前項的下一項的指針。如果當前項為空或者它是最后一項,返回空。
<p> 把下一項作為當前項。如果當前項在這次函數調用之前就是最后一項了,當前項將被設置為空。如果當前項為空,這個函數就什么都不做。
<p> <p>也可以參考<a href="#first">first</a>()、<a href="#last">last</a>()、<a href="#prev">prev</a>()和<a href="#current">current</a>()。
<p>實例:<a href="grapher-nsplugin-example.html#x2781">grapher/grapher.cpp</a>、<a href="listviews-example.html#x320">listviews/listviews.h</a>和<a href="showimg-example.html#x1282">showimg/showimg.cpp</a>。
<h3 class=fn><a href="qptrlist.html">QPtrList</a><type> & <a name="operator-eq"></a>QPtrList::operator= ( const <a href="qptrlist.html">QPtrList</a><type> & list )
</h3>
把<em>list</em>賦值給這個列表并且返回這個列表的引用。
<p> 這個列表首先被清空,然后<em>list</em>中的每個項都被<a href="#append">添加</a>到這個列表中。只有指針被復制(淺復制),除非<a href="qptrcollection.html#newItem">newItem</a>()被重新實現了。
<h3 class=fn>bool <a name="operator-eq-eq"></a>QPtrList::operator== ( const <a href="qptrlist.html">QPtrList</a><type> & list ) const
</h3>
<p> 把這個列表和<em>list</em>進行比較。如果這個列表包含相同的數據,返回真,否則返回假。
<h3 class=fn>void <a name="prepend"></a>QPtrList::prepend ( const type * item )
</h3>
<p> 在列表開始的位置插入<em>item</em>。
<p> 被插入項變為當前列表項。這和<tt>insert( 0, item )</tt>是相同的。
<p> <em>item</em>必須不能是一個空指針。
<p> <p>也可以參考<a href="#append">append</a>()、<a href="#insert">insert</a>()和<a href="#current">current</a>()。
<h3 class=fn>type * <a name="prev"></a>QPtrList::prev ()
</h3>
返回指向當前項的前一個項的指針。如果當前項為空或者等于第一項,返回空。
<p> 把前一項作為當前項。如果當前項在這次函數調用之前就是第一項了,當前項被設置為空。如果當前項為空,這個函數就什么都不做。
<p> <p>也可以參考<a href="#first">first</a>()、<a href="#last">last</a>()、<a href="#next">next</a>()和<a href="#current">current</a>()。
<h3 class=fn><a href="qdatastream.html">QDataStream</a> & <a name="read"></a>QPtrList::read ( <a href="qdatastream.html">QDataStream</a> & s, <a href="qptrcollection.html#Item">QPtrCollection::Item</a> & item )<tt> [虛 保護]</tt>
</h3>
<p> 從流<em>s</em>中讀取一個列表項并且返回流的引用。
<p> 默認實習是設置<em>item</em>為0。
<p> <p>也可以參考<a href="#write">write</a>()。
<h3 class=fn>bool <a name="remove"></a>QPtrList::remove ( uint index )
</h3>
移除列表中<em>index</em>位置的項。
<p> 如果成功返回真,或者如果<em>index</em>超出范圍返回假。有效范圍是<tt>0……(count() - 1)</tt>(包括count()-1)。
<p> 如果<a href="qptrcollection.html#setAutoDelete">自動刪除</a>生效,被移除的項目將被刪除。
<p> 如果被移除的項不是列表中最后一項,被移除的項之后的項變為新的當前列表項。如果最后一項被移除,新的最后一項變為當前項。
<p> 所有指向被移除項的列表迭代器都將會被指向新的當前項。
<p> <p>也可以參考<a href="#take">take</a>()、<a href="#clear">clear</a>()、<a href="qptrcollection.html#setAutoDelete">setAutoDelete</a>()、<a href="#current">current</a>()和<a href="#removeRef">removeRef</a>()。
<h3 class=fn>bool <a name="remove-2"></a>QPtrList::remove ()
</h3>
這是一個重載成員函數,提供了方便。它的行為基本上和上面的函數相同。
<p> 移除當前列表項。
<p> 如果成功返回真,或者如果當前項為空,返回假。
<p> 如果<a href="qptrcollection.html#setAutoDelete">自動刪除</a>生效,被移除的項目將被刪除。
<p> 如果被移除的項不是列表中最后一項,被移除的項之后的項變為新的當前列表項。如果最后一項被移除,新的最后一項變為當前項。如果列表為空,當前項為空。
<p> 所有指向被移除項的列表迭代器都將會被指向新的當前項。
<p> <p>也可以參考<a href="#take">take</a>()、<a href="#clear">clear</a>()、<a href="qptrcollection.html#setAutoDelete">setAutoDelete</a>()、<a href="#current">current</a>()和<a href="#removeRef">removeRef</a>()。
<h3 class=fn>bool <a name="remove-3"></a>QPtrList::remove ( const type * item )
</h3>
這是一個重載成員函數,提供了方便。它的行為基本上和上面的函數相同。
<p> 移除列表中第一次出現的<em>item</em>。
<p> 如果成功返回真,或者如果當前項為空,返回假。
<p> 如果<a href="qptrcollection.html#setAutoDelete">自動刪除</a>生效,被移除的項目將被刪除。
<p> 當在列表中搜索這個項的時候,<a href="#compareItems">compareItems</a>()函數被調用。如果compareItems()沒有被重新實現,調用<a href="#removeRef">removeRef</a>()是更加有效率的。
<p> 如果被移除的項不是列表中最后一項,被移除的項之后的項變為新的當前列表項。如果最后一項被移除,新的最后一項變為當前項。
<p> 所有指向被移除項的列表迭代器都將會被指向新的當前項。
<p> <p>也可以參考<a href="#removeRef">removeRef</a>()、<a href="#take">take</a>()、<a href="#clear">clear</a>()、<a href="qptrcollection.html#setAutoDelete">setAutoDelete</a>()、<a href="#compareItems">compareItems</a>()和<a href="#current">current</a>()。
<h3 class=fn>bool <a name="removeFirst"></a>QPtrList::removeFirst ()
</h3>
移除列表中的第一項。如果成功返回真,或者如果列表是空的返回假。
<p> 如果<a href="qptrcollection.html#setAutoDelete">自動刪除</a>生效,被移除的項目將被刪除。
<p> 列表中的第一項變為新的當前列表項。如果列表變空了,當前列表項被設置為空。
<p> 所有指向被移除項的列表迭代器都將會被指向新的當前項。
<p> <p>也可以參考<a href="#removeLast">removeLast</a>()、<a href="qptrcollection.html#setAutoDelete">setAutoDelete</a>()、<a href="#current">current</a>()和<a href="#remove">remove</a>()。
<h3 class=fn>bool <a name="removeLast"></a>QPtrList::removeLast ()
</h3>
移除列表中的最后一項。如果成功返回真,或者如果列表是空的返回假。
<p> 如果<a href="qptrcollection.html#setAutoDelete">自動刪除</a>生效,被移除的項目將被刪除。
<p> 列表中的最后一項變為新的當前列表項。如果列表變空了,當前列表項被設置為空。
<p> 所有指向被移除項的列表迭代器都將會被指向新的當前項。
<p> <p>也可以參考<a href="#removeFirst">removeFirst</a>()、<a href="qptrcollection.html#setAutoDelete">setAutoDelete</a>()和<a href="#current">current</a>()。
<h3 class=fn>void <a name="removeNode"></a>QPtrList::removeNode ( QLNode * node )
</h3>
移除列表中的<em>node</em>節點。
<p> 這個節點必須存在于列表中,否則程序可能會崩潰。
<p> 如果<a href="qptrcollection.html#setAutoDelete">自動刪除</a>生效,被移除的項目將被刪除。
<p> 列表中的第一項變為新的當前列表項。如果列表變空了,當前列表項被設置為空。
<p> 所有指向被移除的列表迭代器都被指向這項的下一項或者如果被移除的項是最后一項,則指向它的前一項。
<p> <b>警告:</b>不要調用這個函數,除非你是專家。
<p> <p>也可以參考<a href="#takeNode">takeNode</a>()、<a href="#currentNode">currentNode</a>()、<a href="#remove">remove</a>()和<a href="#removeRef">removeRef</a>()。
<h3 class=fn>bool <a name="removeRef"></a>QPtrList::removeRef ( const type * item )
</h3>
移除列表中第一次出現的<em>item</em>。
<p> 如果成功返回真,或者如果這個項在列表中沒有被找到,返回假。
<p> 如果<a href="qptrcollection.html#setAutoDelete">自動刪除</a>生效,被移除的項目將被刪除。
<p> 列表一直被掃描,直到指針<em>item</em>被找到為止。如果它被發現,它就會被移除。
<p> 等價于:
<pre>
if ( list.findRef( item ) != -1 )
list.remove();
</pre>
<p> 如果被移除的項不是列表中最后一項,被移除的項之后的項變為新的當前列表項。如果最后一項被移除,新的最后一項變為當前項。如果列表變空了,當前列表項被設置為空。
<p> 所有指向被移除項的列表迭代器都將會被指向新的當前項。
<p> <p>也可以參考<a href="#remove">remove</a>()、<a href="#clear">clear</a>()、<a href="qptrcollection.html#setAutoDelete">setAutoDelete</a>()和<a href="#current">current</a>()。
<h3 class=fn>void <a name="setAutoDelete"></a>QPtrCollection::setAutoDelete ( bool enable )
</h3>
<p> 如果<em>enable</em>為真,設置集合可以自動刪除它的內容,并且如果<em>enable</em>為假,就永遠不能刪除它們。
<p> 如果自動刪除被打開,當集合本身被刪除的時候,集合內所有的項也都被刪除。如果只有這個集合指向它的項時,這個方法很方便。
<p> 為了安全,默認設置是假。如果你把它打開,對于集合的復制你要注意些——你自己也許會發現兩個集合刪除同一個項。
<p> 注意在子類中自動刪除設置也許會影響其它函數。例如,一個有<a href="#remove">remove</a>()函數的子類將會從它的數據結構中移除這個項,并且如果自動刪除生效,也將會刪除這個項。
<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>void <a name="sort"></a>QPtrList::sort ()
</h3>
<p> 使用虛函數<a href="#compareItems">compareItems</a>()的結果排序這個列表。
<p> 排序中使用堆排序算法。它對n項排序需要O(n*log n)次比較。這是排序問題中接近最佳的解決方案。
<p> 如果你的列表中的項支持操作符<和操作符==,你最好離開QSortedList,因為它使用這兩個操作符為你實現了compareItems()函數。
<p> <p>也可以參考<a href="#inSort">inSort</a>()。
<h3 class=fn>type * <a name="take"></a>QPtrList::take ( uint index )
</h3>
把列表中在<em>index</em>位置的項拿出來,而不刪除它(盡管如果<a href="qptrcollection.html#setAutoDelete">自動刪除</a>是生效的。)
<p> 返回指向你從列表中拿出的項的指針,或者如果索引超出范圍,返回空。有效范圍是<tt>0..(count() - 1)</tt>(包括count()-1)。
<p> 如果被移除的項不是列表中最后一項,被移除的項之后的項變為新的當前列表項。如果最后一項被移除,新的最后一項變為當前項。如果列表變空了,當前列表項被設置為空。
<p> 所有指向被移除項的列表迭代器都將會被指向新的當前項。
<p> <p>也可以參考<a href="#remove">remove</a>()、<a href="#clear">clear</a>()和<a href="#current">current</a>()。
<p>實例:<a href="customlayout-example.html#x1374">customlayout/border.cpp</a>、<a href="customlayout-example.html#x1392">customlayout/card.cpp</a>和<a href="customlayout-example.html#x1351">customlayout/flow.cpp</a>。
<h3 class=fn>type * <a name="take-2"></a>QPtrList::take ()
</h3>
這是一個重載成員函數,提供了方便。它的行為基本上和上面的函數相同。
<p> 把列表中在<em>index</em>位置的項拿出來,而不刪除它(盡管如果<a href="qptrcollection.html#setAutoDelete">自動刪除</a>是生效的。)
<p> 返回指向你從列表中拿出的項的指針,或者如果索引超出范圍,返回空。有效范圍是<tt>0..(count() - 1)</tt>(包括count()-1)。
<p> 如果被移除的項不是列表中最后一項,被移除的項之后的項變為新的當前列表項。如果最后一項被移除,新的最后一項變為當前項。如果列表變空了,當前列表項被設置為空。
<p> 所有指向被移除項的列表迭代器都將會被指向新的當前項。
<p> <p>也可以參考<a href="#remove">remove</a>()、<a href="#clear">clear</a>()和<a href="#current">current</a>()。
<h3 class=fn>type * <a name="takeNode"></a>QPtrList::takeNode ( QLNode * node )
</h3>
把列表中的節點<em>node</em>拿出來,而不刪除它(盡管如果<a href="qptrcollection.html#setAutoDelete">自動刪除</a>是生效的。)返回指向你從列表中拿出的項的指針。
<p> 這個節點必須存在于列表中,否則程序可能會崩潰。
<p> 列表中的第一項變為新的當前列表項。如果列表變空了,當前列表項被設置為空。
<p> 所有指向被移除的列表迭代器都被指向這項的下一項或者如果被移除的項是最后一項,則指向它的前一項。
<p> <b>警告:</b>不要調用這個函數,除非你是專家。
<p> <p>也可以參考<a href="#removeNode">removeNode</a>()和<a href="#currentNode">currentNode</a>()。
<h3 class=fn>void <a name="toVector"></a>QPtrList::toVector ( QGVector * vec ) const
</h3>
存儲所有的列表項到矢量<em>vec</em>中。
<p> 矢量必須和項的類型相同,否則結果將會是不確定的。
<h3 class=fn><a href="qdatastream.html">QDataStream</a> & <a name="write"></a>QPtrList::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 + -