⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 qvaluelist.html

📁 这是qt3的帮助文档的中文版
💻 HTML
📖 第 1 页 / 共 3 页
字号:
    ...
    if ( !list.<a href="#empty">empty</a>() ) {
        // OK, modify the first item
        int&amp; i = list.<a href="#first">first</a>();
        i = 18;
    }
    ...
    QValueList&lt;double&gt; dlist;
    double d = dlist.<a href="#last">last</a>(); // undefined
</pre>
 
<p> 因为QValueList是基于值的,所以在删除列表中的项时,就没有什么要注意的了。列表保存它自己的复制并且如果相应的项或者列表本身被删除时,列表会释放它们。你可以使用<a href="#clear">clear</a>()来强制列表释放它所有的项。
<p> QValueList是<a href="shclass.html#shared-implicitly">隐含地共享</a>,这也就是说它能够在一个固定时间被复制。如果多个QValueList实例共享相同的数据并且一个需要修改它的内容,这个修改实例将会产生一个复制并且只修改它自己的复制,因此它对其它实例来说是无效的。这就是常说的“写时复制”。如果一个QValueList是在一个多线程程序中被使用,你必须保护所有对列表的访问。请参考<a href="qmutex.html">QMutex</a>。
<p> 向列表中插入项有好几个方法。<a href="#prepend">prepend</a>()和<a href="#append">append</a>()函数分别把项插入到列表的开始和结尾。<a href="#insert">insert</a>()函数有好几种方式并且可以被用来向列表中的特定位置插入一个或多个项。
<p> 从列表中移除项也有好几个方法。<a href="#remove">remove</a>()函数有好几种方式并且可以用来移除列表中的特定项。remove()函数可以根据特定的项的值来找到这个项并且删除它。
<p> 列表可以使用sort()函数来排序,或者使用<a href="qtl.html">Qt模板库</a>来排序。比如使用qHeapSort():
<p> 实例:
<pre>
    QValueList&lt;int&gt; l;
    l.<a href="#append">append</a>( 5 );
    l.<a href="#append">append</a>( 8 );
    l.<a href="#append">append</a>( 3 );
    l.<a href="#append">append</a>( 4 );
    qHeapSort( l );
  </pre>
 
<p> <p>也可以参考<a href="qvaluelistiterator.html">QValueListIterator</a>、<a href="qtl.html">Qt模板库类</a>、<a href="shared.html">隐含地和明示地共享类</a>和<a href="tools.html">非GUI类</a>。

<hr><h2>函数类型文档</h2>
<h3 class=fn><a name="ConstIterator"></a>QValueList::ConstIterator</h3> 
<p> 这个迭代器是<a href="qvaluelistconstiterator.html">QValueListConstIterator</a>的一个实例,类型和QValueList一样。换句话说,如果你QValueList&lt;int&gt;这样示例,ConstIterator就是QValueListConstIterator&lt;int&gt;。几个成员函数使用它,比如<a href="#begin">QValueList::begin</a>(),它返回一个指向列表中第一个项的迭代器。
<p> 在功能上,它和Iterator基本一样。唯一的区别是你不能使用ConstIterator做非常量操作并且如果你使用ConstIterator,编译器经常会产生更好的代码。
<p> <p>也可以参考<a href="qvaluelistiterator.html">QValueListIterator</a>和<a href="#Iterator">Iterator</a>。

<h3 class=fn><a name="Iterator"></a>QValueList::Iterator</h3> 
<p> 这个迭代器是<a href="qvaluelistiterator.html">QValueListIterator</a>的一个实例,类型和QValueList一样。换句话说,如果你QValueList&lt;int&gt;这样示例,Iterator就是QValueListIterator&lt;int&gt;。几个成员函数使用它,比如<a href="#begin">QValueList::begin</a>(),它返回一个指向列表中第一个项的迭代器。
<p> 在功能上,它和ConstIterator基本一样。唯一的区别是你不能使用ConstIterator做非常量操作并且如果你使用ConstIterator,编译器经常会产生更好的代码。
<p> <p>也可以参考<a href="qvaluelistiterator.html">QValueListIterator</a>和<a href="#ConstIterator">ConstIterator</a>。

<h3 class=fn><a name="const_iterator"></a>QValueList::const_iterator</h3> 
列表的常量迭代器类型,<a href="qvaluelistconstiterator.html">QValueListConstIterator</a>。

<h3 class=fn><a name="const_pointer"></a>QValueList::const_pointer</h3> 
指向T类型的常量指针。

<h3 class=fn><a name="const_reference"></a>QValueList::const_reference</h3> 
T类型的常量引用。

<h3 class=fn><a name="iterator"></a>QValueList::iterator</h3> 
列表的迭代器类型,<a href="qvaluelistiterator.html">QValueListIterator</a>。

<h3 class=fn><a name="pointer"></a>QValueList::pointer</h3> 
指向T类型的指针。

<h3 class=fn><a name="reference"></a>QValueList::reference</h3> 
T类型的引用。

<h3 class=fn><a name="size_type"></a>QValueList::size_type</h3> 
一个无符号整数类型,用来说明变量的大小。

<h3 class=fn><a name="value_type"></a>QValueList::value_type</h3> 
存储在列表中的对象的类型,T。

<hr><h2>成员函数文档</h2>
<h3 class=fn><a name="QValueList"></a>QValueList::QValueList ()
</h3>
构造一个空的列表。

<h3 class=fn><a name="QValueList-2"></a>QValueList::QValueList ( const&nbsp;<a href="qvaluelist.html">QValueList</a>&lt;T&gt;&nbsp;&amp;&nbsp;l )
</h3>
<p> 构造一个<em>l</em>的复制。
<p> 这个操作使用了O(1)时间,因为QValueList是<a href="shclass.html#shared-implicitly">隐含地共享</a>。
<p> 第一次对列表的修改会使用O(n)时间。

<h3 class=fn><a name="QValueList-3"></a>QValueList::QValueList ( const&nbsp;std::list&lt;T&gt;&nbsp;&amp;&nbsp;l )
</h3> 
<p> 构造一个<em>l</em>的复制。
<p> 这个构造函数提供了和STL容器的兼容。

<h3 class=fn><a name="~QValueList"></a>QValueList::~QValueList ()
</h3>
<p> 销毁这个列表。在列表中的值的引用和这个列表的所有迭代器都会变为无效。注意检查一个迭代器是否有效将是不可能的——因为QValueList已经为效率而优化了,而不是为错误检查。

<h3 class=fn><a href="qvaluelist.html#iterator">iterator</a> <a name="append"></a>QValueList::append ( const&nbsp;T&nbsp;&amp;&nbsp;x )
</h3>
<p> 在列表结尾插入<em>x</em>。
<p> <p>也可以参考<a href="#insert">insert</a>()和<a href="#prepend">prepend</a>()。
<p>实例:<a href="checklists-example.html#x432">checklists/checklists.cpp</a>和<a href="simple-qfont-demo-walkthrough.html#x2125">fonts/simple-qfont-demo/viewer.cpp</a>。

<h3 class=fn><a href="qvaluelist.html#const_iterator">const_iterator</a> <a name="at"></a>QValueList::at ( <a href="qvaluelist.html#size_type">size_type</a>&nbsp;i ) const
</h3>
<p> 返回指向列表中位置为<em>i</em>的项的迭代器,或者如果索引超出范围,返回<a href="#end">end</a>()。
<p> <b>警告:</b>这个函数使用的是线性搜索并且对于大的列表这将会非常慢。QValueList没有对随机项访问进行优化。如果你需要随机访问,请使用一个不同的容易,比如<a href="qvaluevector.html">QValueVector</a>。

<h3 class=fn><a href="qvaluelist.html#iterator">iterator</a> <a name="at-2"></a>QValueList::at ( <a href="qvaluelist.html#size_type">size_type</a>&nbsp;i )
</h3>
这是一个重载成员函数,提供了方便。它的行为基本上和上面的函数相同。
<p> 返回指向列表中位置为<em>i</em>的项的迭代器,或者如果索引超出范围,返回<a href="#end">end</a>()。

<h3 class=fn><a href="qvaluelist.html#reference">reference</a> <a name="back"></a>QValueList::back ()
</h3> 
<p> 返回指向最后一个项的引用。如果列表中没有最后一个项(比如,<a href="#empty">empty</a>()返回真),返回值是未定义的。
<p> 这个函数的提供是为了兼容STL。它和<a href="#last">last</a>()是一样的。
<p> <p>也可以参考<a href="#front">front</a>()。

<h3 class=fn><a href="qvaluelist.html#const_reference">const_reference</a> <a name="back-2"></a>QValueList::back () const
</h3> 
这是一个重载成员函数,提供了方便。它的行为基本上和上面的函数相同。

<h3 class=fn><a href="qvaluelist.html#const_iterator">const_iterator</a> <a name="begin"></a>QValueList::begin () const
</h3>
<p> 返回指向列表中第一个项的迭代器。如果列表为空,这个迭代器等于<a href="#end">end</a>()。
<p>也可以参考<a href="#first">first</a>()和<a href="#end">end</a>()。
<p>实例:<a href="tutorial2-06.html#x2493">chart/canvasview.cpp</a>、<a href="tutorial2-03.html#x2457">chart/element.cpp</a>、<a href="checklists-example.html#x433">checklists/checklists.cpp</a>、<a href="simple-qfont-demo-walkthrough.html#x2126">fonts/simple-qfont-demo/viewer.cpp</a>、<a href="ftpclient-example.html#x694">network/ftpclient/ftpview.cpp</a>、<a href="statistics-example.html#x2636">table/statistics/statistics.cpp</a>和<a href="themes-example.html#x304">themes/themes.cpp</a>。

<h3 class=fn><a href="qvaluelist.html#iterator">iterator</a> <a name="begin-2"></a>QValueList::begin ()
</h3>
这是一个重载成员函数,提供了方便。它的行为基本上和上面的函数相同。
<p> 返回指向列表中第一个项的迭代器。如果列表为空,这个迭代器等于<a href="#end">end</a>()。
<p>也可以参考<a href="#first">first</a>()和<a href="#end">end</a>()。

<h3 class=fn>void <a name="clear"></a>QValueList::clear ()
</h3>
<p> 移除列表中所有的项。
<p> <p>也可以参考<a href="#remove">remove</a>()。

<h3 class=fn><a href="qvaluelist.html#size_type">size_type</a> <a name="contains"></a>QValueList::contains ( const&nbsp;T&nbsp;&amp;&nbsp;x ) const
</h3>
<p> 返回列表中值<em>x</em>出现的次数。

<h3 class=fn><a href="qvaluelist.html#size_type">size_type</a> <a name="count"></a>QValueList::count () const
</h3>
<p> 返回列表中项的数量。
<p> <p>也可以参考<a href="#isEmpty">isEmpty</a>()。
<p>实例:<a href="tutorial2-03.html#x2458">chart/element.cpp</a>和<a href="statistics-example.html#x2637">table/statistics/statistics.cpp</a>。

<h3 class=fn>bool <a name="empty"></a>QValueList::empty () const
</h3> 
<p> 如果列表中没有包含任何项,返回真,否则返回假。
<p> <p>也可以参考<a href="#size">size</a>()。

<h3 class=fn><a href="qvaluelist.html#iterator">iterator</a> <a name="end"></a>QValueList::end ()
</h3>
<p> 返回一个指向列表中最后一项之后的迭代器。如果列表为空,这个迭代器等于<a href="#begin">begin</a>()。
<p> <p>也可以参考<a href="#last">last</a>()和<a href="#begin">begin</a>()。
<p>实例:<a href="tutorial2-06.html#x2494">chart/canvasview.cpp</a>、<a href="tutorial2-03.html#x2459">chart/element.cpp</a>、<a href="checklists-example.html#x434">checklists/checklists.cpp</a>、<a href="simple-qfont-demo-walkthrough.html#x2127">fonts/simple-qfont-demo/viewer.cpp</a>、<a href="ftpclient-example.html#x695">network/ftpclient/ftpview.cpp</a>、<a href="sql.html#x2197">sql/overview/insert/main.cpp</a>和<a href="statistics-example.html#x2638">table/statistics/statistics.cpp</a>。

<h3 class=fn><a href="qvaluelist.html#const_iterator">const_iterator</a> <a name="end-2"></a>QValueList::end () const
</h3>
这是一个重载成员函数,提供了方便。它的行为基本上和上面的函数相同。
<p> 返回一个指向列表中最后一项之后的迭代器。如果列表为空,这个迭代器等于<a href="#begin">begin</a>()。
<p> <p>也可以参考<a href="#last">last</a>()和<a href="#begin">begin</a>()。

<h3 class=fn><a href="qvaluelist.html#iterator">iterator</a> <a name="erase"></a>QValueList::erase ( <a href="qvaluelist.html#iterator">iterator</a>&nbsp;it )
</h3> 
<p> 从列表中移除<em>it</em>所指向的项。除了<em>it</em>之外其它指向相同项的迭代器一样都无效了。返回一个指向<em>it</em>之后的下一个项的迭代器,或者如果没有这样的项,返回<a href="#end">end</a>()。
<p> 这个函数的提供是为了兼容STL。它等于<a href="#remove">remove</a>()。

<h3 class=fn><a href="qvaluelist.html#iterator">iterator</a> <a name="erase-2"></a>QValueList::erase ( <a href="qvaluelist.html#iterator">iterator</a>&nbsp;first, <a href="qvaluelist.html#iterator">iterator</a>&nbsp;last )
</h3> 
这是一个重载成员函数,提供了方便。它的行为基本上和上面的函数相同。
<p> 删除从<em>first</em>到<em>last</em>的所有项(不包括<em>last</em>)。除了指向被移除项的迭代器,其它迭代器都有效。返回<em>last</em>。

<h3 class=fn><a href="qvaluelist.html#iterator">iterator</a> <a name="find"></a>QValueList::find ( const&nbsp;T&nbsp;&amp;&nbsp;x )
</h3>
<p> 返回指向列表中第一次出现<em>x</em>的迭代器。
<p> 如果没有项匹配,返回<a href="#end">end</a>()。

<h3 class=fn><a href="qvaluelist.html#const_iterator">const_iterator</a> <a name="find-2"></a>QValueList::find ( const&nbsp;T&nbsp;&amp;&nbsp;x ) const
</h3>
这是一个重载成员函数,提供了方便。它的行为基本上和上面的函数相同。
<p> 返回指向列表中第一次出现<em>x</em>的迭代器。
<p> 如果没有项匹配,返回<a href="#end">end</a>()。

<h3 class=fn><a href="qvaluelist.html#iterator">iterator</a> <a name="find-3"></a>QValueList::find ( <a href="qvaluelist.html#iterator">iterator</a>&nbsp;it, const&nbsp;T&nbsp;&amp;&nbsp;x )
</h3>
这是一个重载成员函数,提供了方便。它的行为基本上和上面的函数相同。
<p> 返回指向列表中从<em>it</em>开始第一次出现<em>x</em>的迭代器。
<p> 如果没有项匹配,返回<a href="#end">end</a>()。

<h3 class=fn><a href="qvaluelist.html#const_iterator">const_iterator</a> <a name="find-4"></a>QValueList::find ( <a href="qvaluelist.html#const_iterator">const_iterator</a>&nbsp;it, const&nbsp;T&nbsp;&amp;&nbsp;x ) const
</h3>
这是一个重载成员函数,提供了方便。它的行为基本上和上面的函数相同。
<p> 返回指向列表中从<em>it</em>开始第一次出现<em>x</em>的迭代器。
<p> 如果没有项匹配,返回<a href="#end">end</a>()。

<h3 class=fn>int <a name="findIndex"></a>QValueList::findIndex ( const&nbsp;T&nbsp;&amp;&nbsp;x ) const
</h3>
<p> 返回列表中值<em>x</em>第一次出现的索引。如果没有项匹配,返回-1。

<h3 class=fn>T &amp; <a name="first"></a>QValueList::first ()
</h3>
<p> 返回第一个项的引用。如果列表中没有第一个项(比如,<a href="#empty">empty</a>()返回真),返回值是未定义的。

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -