QValueList类参考.doc_第1页
QValueList类参考.doc_第2页
QValueList类参考.doc_第3页
QValueList类参考.doc_第4页
QValueList类参考.doc_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

QValueList类参考QValueList 类是一个提供基础值列表模版的类。更多。如果Qt是通过单一支持被建立的,此类中的所有方法是重入的。#include 被QCanvasItemList, QStringList, 和QValueStack继承. 所有成员列表公有成员typedef QValueListIterator iteratortypedef QValueListConstIterator const_iteratortypedef T value_typetypedef value_type * pointertypedef const value_type * const_pointertypedef value_type & referencetypedef const value_type & const_referencetypedef size_t size_typeQValueList ()QValueList ( const QValueList & l )QValueList ( const std:list & l )QValueList ()QValueList & operator= ( const QValueList & l )QValueList & operator= ( const std:list & l )bool operator= ( const std:list & l ) constbool operator= ( const QValueList & l ) constbool operator!= ( const QValueList & l ) constiterator begin ()const_iterator begin () constiterator end ()const_iterator end () constiterator insert ( iterator it, const T & x )uint remove ( const T & x )void clear ()QValueList & operator ( const T & x )size_type size () constbool empty () constvoid push_front ( const T & x )void push_back ( const T & x )iterator erase ( iterator it )iterator erase ( iterator first, iterator last )reference front ()const_reference front () constreference back ()const_reference back () constvoid pop_front ()void pop_back ()void insert ( iterator pos, size_type n, const T & x )QValueList operator+ ( const QValueList & l ) constQValueList & operator+= ( const QValueList & l )iterator fromLast ()const_iterator fromLast () constbool isEmpty () constiterator append ( const T & x )iterator prepend ( const T & x )iterator remove ( iterator it )T & first ()const T & first () constT & last ()const T & last () constT & operator ( size_type i )const T & operator ( size_type i ) constiterator at ( size_type i )const_iterator at ( size_type i ) constiterator find ( const T & x )const_iterator find ( const T & x ) constiterator find ( iterator it, const T & x )const_iterator find ( const_iterator it, const T & x ) constint findIndex ( const T & x ) constsize_type contains ( const T & x ) constsize_type count () constQValueList & operator+= ( const T & x )typedef QValueListIterator Iteratortypedef QValueListConstIterator ConstIterator相关成员QDataStream & operator ( QDataStream & s, QValueList & l )QDataStream & operator ( QDataStream & s, const QValueList & l )详细说明QValueList 类是一个提供基础值列表模版的类。QValueList 是一个 Qt 的STL的执行,像列表容器。如果对于你的目标平台本身的列表是不可用的,它可以被用在你的应用程序中。QValueList是 Qt Template Library的一部分。QValueList定义一个模版的实例去创建一个可用的列表,全部含有T类。注意QValueList不储存列表成员的指针;它存储每一个成员的备份。这就是为什么这些种类的类被称为“值基础”;QPtrList 和 QDict 是“指针基础”。QValueList包含并处理T类型对象的收集,支持允许包含对象被指向的迭代器。QValueList包含自己的项。对于更多不严格的所有权,见QPtrCollection和基础指针集装箱助手。一些类不能在内部用QValueList。例如,所有来自QObject 的类和所有工具窗口部件的类。只有值能用在QValueList中。为了取得一个值的资格,这个类必须提供:一个拷贝构造函数;一个任务操作员;一个默认构造函数,也就是,一个不带任何参数的构造函数。注意C+默认要平均分配算子和拷贝构造函数如果不是当前版本会被替代。在许多状况下是充足的。QValueList的函数名和其他Qt 类是一致的(例如:count(), isEmpty() )。QValueList也提供例外的方法为了与STL 法则兼容, 像size() 和 empty()程序员已经熟悉STL列表更喜欢使用STL兼容的方法。 例如: class Employee public: Employee(): sn(0) Employee( const QString& forename, const QString& surname, int salary ) : fn(forename), sn(surname), sal(salary) QString forename() const return fn; QString surname() const return sn; int salary() const return sal; void setSalary( int salary ) sal = salary; private: QString fn; QString sn; int sal; ; typedef QValueList EmployeeList; EmployeeList list; list.append( Employee(John, Doe, 50000) ); list.append( Employee(Jane, Williams, 80000) ); list.append( Employee(Tom, Jones, 60000) ); Employee mary( Mary, Hawthorne, 90000 ); list.append( mary ); mary.setSalary( 100000 ); EmployeeList:iterator it; for ( it = list.begin(); it != list.end(); +it ) cout (*it).surname().latin1() , (*it).forename().latin1() earns (*it).salary() endl; / Output: / Doe, John earns 50000 / Williams, Jane earns 80000 / Hawthorne, Mary earns 90000 / Jones, Tom earns 60000 注意最后的改变,玛利的薪水没有影响这个列表的值,因为这个列表创建了玛利项的副本。有几个在列表中查找项的方法。begin() 和end() 方法返回迭代器到列表的开头和结尾。这有利于得到你能够从这个位置通过迭代器的增加或消耗向前或向后移动迭代器。迭代器通过end()返回并指向在集装箱中越过最后项的项。末尾的迭代器总是和它所属的列表关联,无论如何是不能废弃的;operator*() 不会返回一个适当定义的值。如果这个列表是empty(), 通过begin()返回的迭代器和通过end()返回的迭代器是相等的.另一个在列表中查找项的方法是使用qFind()法则。例如: QValueList list; . QValueList:iterator it = qFind( list.begin(), list.end(), 3 ); if ( it != list.end() ) / it points to the found item它对于在一个列表中同时拥有多种迭代器是安全的。如果列表中的一些成员是被移除的,指向移除成员的迭代器变为无效的。插入的列表使任何迭代器都无效。为了方便, last()方法返回涉及列表中的最后一项,first()返回涉及列表中的第一项。如果列表是 empty(), last()和first() 没有明确的行为(你的请求将被损坏或者发生不可预知的事情).小心的使用last()和first() , 例如: QValueList list; list.append( 1 ); list.append( 2 ); list.append( 3 ); . if ( !list.empty() ) / OK, modify the first item int& i = list.first(); i = 18; . QValueList dlist; double d = dlist.last(); / undefined 因为QValueList是值基础不需要担心在列表中删除项。如果相应的成员或列表本身被删除,列表保存它自己的副本并可以释放它们。你可以使用clear()强制列表释放它所有的项.QValueList 是暗中共享的, 意思是它能在不同的时间被复制,也就是O(1). 如果多种 QValueList实例共享一样的数据,一个需要修改它的内容,这个要修改的实例制作一个副本并修改它的副本;因此它不会影响别的实例;这个带有O(n) 时间. 这个经常被称为 副本写作. 如果一个QValueList 正被用于一个多线图的程序,你必须保证能够访问所有的列表。见 QMutex.有几种向列表中插入项的方法。prepend()和append() 方法分别在列表的开始和结尾插入项。insert()方法有几个特点并能够用于增加一个项或在列表中的特殊位置增加更多的项。也有几种方法能够从列表中删除项。 remove() 方法有几个不同的变量, 能从列表中移除特定的项。remove()方法能够找到并移除项依照特定项的值。也能够使用sort() 方法给列表分类, 或使用Qt Template Library分类. 例如使用 qHeapSort():例如: QValueList list; list.append( 5 ); list.append( 8 ); list.append( 3 ); list.append( 4 ); qHeapSort( list ); 另见 QValueListIterator, Qt Template Library Classes, Implicitly and Explicitly Shared Classes, 和 Non-GUI Classes.成员类型文档QValueList:ConstIterator这个迭代器是QValueListConstIterator 的实例化类型同QValueList.换句话说,如果你实例化QValueList, 常量迭代器是一个 QValueListConstIterator. 几个成员函数使用它,像 QValueList:begin(), 返回的迭代器指向列表中的第一项。基本上, 这个和迭代器大致上差不多. 唯一不同的是你不需为了不常用的操作使用常量迭代器, 如果你使用常量迭代器,编辑器能够经常生成较好的代码.另见 QValueListIterator 和Iterator.QValueList:Iterator这个迭代器是QValueListConstIterator 的实例化类型同QValueList.换句话说,如果你实例化QValueList,迭代器是一个QValueListIterator.几个成员函数使用它,像 QValueList:begin(), 返回的迭代器指向列表中的第一项。基本上, 这个和迭代器大致上差不多. 唯一不同的是你不需为了不常用的操作使用常量迭代器, 如果你使用常量迭代器,编辑器能够经常生成较好的代码.另见 QValueListIterator 和ConstIterator.QValueList:const_iterator列表的 常迭代器类型, QValueListConstIterator. QValueList:const_pointerT类型的常指针. QValueList:const_referenceT 类型的常参数. QValueList:iterator列表的迭代器类型, QValueListIterator. QValueList:pointerT 类型指针. QValueList:reference涉及的 T 类型. QValueList:size_type一个无符号类型, 用于描绘不同的大小. QValueList:value_type保存在列表中的对象的类型, T. 成员函数文档QValueList:QValueList ()创建一个空的列表.QValueList:QValueList ( const QValueList & l )创建 l的副本.这个操作接受 O(1) 时间,因为QValueList 是暗中共享.第一次修改列表可获得O(n) 时间.QValueList:QValueList ( const std:list & l )创建 l的副本.这个构造器可以同STL的集装箱兼容.QValueList:QValueList ()销毁列表。在这个列表中涉及到的值,这个列表中的所有迭代器变为无效的。注意对于一个迭代器检查它是否有效是很重要的:QValueList对于性能有很高的调谐,但不适于错误检查。iterator QValueList:append ( const T & x )在列表的最后插入x .另见 insert() 和 prepend().例如: checklists/checklists.cpp 和fonts/simple-qfont-demo/viewer.cpp.const_iterator QValueList:at ( size_type i ) const返回一个指向项的迭代器在列表i 的位置,或是,如果这个索引在范围之外返回end() 。警告:这个方法使用线性查找,能够非常慢的扩大列表。QValueList 不能够使随机存取项最优化。如果你需要随机存取使用一个不同的集装箱,像QValueVector.iterator QValueList:at ( size_type i )为了提供方便,这是一个重载成员函数。它本身的行为像上面的方法。返回一个指向项的迭代器在列表i 的位置,或是,如果这个索引在范围之外返回end() 。reference QValueList:back ()返回一个最后项的参数. 如果不包含最后项 (也就是 empty() 返回TRUE), 这个返回值是不确定的.这个方法支持STL的兼容性. 它与 last()相等.另见 front().const_reference QValueList:back () const为了提供方便,这是一个重载成员函数。它本身的行为像上面的方法。const_iterator QValueList:begin () const返回一个指向列表中第一项的迭代器。如果列表是空的这个迭代器和end()等同另见first()和 end().例如: canvas/canvas.cpp, chart/canvasview.cpp, chart/element.cpp, checklists/checklists.cpp, sql/overview/insert/main.cpp, table/statistics/statistics.cpp, 和themes/themes.cpp.iterator QValueList:begin ()为了提供方便,这是一个重载成员函数。它本身的行为像上面的方法。返回一个指向列表中第一项的迭代器。如果列表是空的这个迭代器和end()等同另见first()和end().void QValueList:clear ()从列表中移除所有项。另见 remove().size_type QValueList:contains ( const T & x ) const返回在列表中的事件数量的值为x .size_type QValueList:count () const返回列表中的项数量.另见isEmpty().例如: chart/element.cpp 和 table/statistics/statistics.cpp.bool QValueList:empty () const如果列表不包含项则返回TRUE ; 否则返回FALSE.另见size().iterator QValueList:end ()返回一个指向在列表中过去的最后项的迭代器。如果列表是空的这个迭代器同begin() 等同另见last() 和 begin().例如: canvas/canvas.cpp, chart/canvasview.cpp, chart/element.cpp, checklists/checklists.cpp, sql/overview/insert/main.cpp, table/statistics/statistics.cpp, 和themes/themes.cpp.const_iterator QValueList:end () const为了提供方便,这是一个重载成员函数。它本身的行为像上面的方法。返回一个指向在列表中过去的最后项的迭代器。如果列表是空的这个迭代器同begin() 同等.另见 last() 和 begin().iterator QValueList:erase ( iterator it )从列表中移除被it 指向的项. 只有 it 迭代器或其它和 it 指向相同项的迭代器是无效的。 返回一个it 之后项的迭代器, 如果没有这样的项返回end()。这个方法支持STL的兼容性。它与 remove()等同.iterator QValueList:erase ( iterator first, iterator last )为了提供方便,这是一个重载成员函数。它本身的行为像上面的方法。删除从first 到last 的所有项(不包括last). 迭代器是有效的, 除非这些都指向删除项的本身。返回last.iterator QValueList:find ( const T & x )返回列表中指向 x 的第一个事件的迭代器.没有匹配的项返回 end().const_iterator QValueList:find ( const T & x ) const为了提供方便,这是一个重载成员函数。它本身的行为像上面的方法。返回列表中指向 x 的第一个事件的迭代器.没有匹配的项返回 end().iterator QValueList:find ( iterator it, const T & x )为了提供方便,这是一个重载成员函数。它本身的行为像上面的方法。在列表中找到x的第一个事件,把其起始位置赋给it.如果没有匹配的项返回 end().const_iterator QValueList:find ( const_iterator it, const T & x ) const为了提供方便,这是一个重载成员函数。它本身的行为像上面的方法。在列表中找到x的第一个事件,把其起始位置赋给it.如果没有匹配的项返回 end().int QValueList:findIndex ( const T & x ) const返回第一个事件的索引,其值为 x. 如果没有匹配的项返回-1 .T & QValueList:first ()返回第一项的参数. 如果列表不包含第一项(也就是 isEmpty() 返回TRUE), 这个返回值是不确定的。另见last().例如: network/mail/smtp.cpp.const T & QValueList:first () const为了提供方便,这是一个重载成员函数。它本身的行为像上面的方法。const_iterator QValueList:fromLast () const返回列表最后项的迭代器, 如果没有最后项返回end() .使用end() 函数代替. 例如: QValueList l; . QValueList:iterator it = l.end(); -it; if ( it != end() ) / . iterator QValueList:fromLast ()为了提供方便,这是一个重载成员函数。它本身的行为像上面的方法。返回列表最后项的迭代器, 如果没有最后项返回end() .使用end() 函数代替. 例如: QValueList l; . QValueList:iterator it = l.end(); -it; if ( it != end() ) / . reference QValueList:front ()返回第一项参数.如果列表不包含第一项(也就是 isEmpty() 返回TRUE), 这个返回值是不确定的。这个方法支持STL的兼容性. 它与 first()等同.另见back().const_reference QValueList:front () const为了提供方便,这是一个重载成员函数。它本身的行为像上面的方法。iterator QValueList:insert ( iterator it, const T & x )在项的前面插入 x值,指向it迭代器.返回指向插入项的迭代器.另见append() 和prepend().例如: themes/themes.cpp.void QValueList:insert ( iterator pos, size_type n, const T & x )为了提供方便,这是一个重载成员函数。它本身的行为像上面的方法。在 pos位置之前插入x的副本n .bool QValueList:isEmpty () const如果列表不包含项返回TRUE ; 否则返回FALSE.另见count().例如: fonts/simple-qfont-demo/viewer.cpp and network/mail/smtp.cpp.T & QValueList:last ()返回最后项参数.如果列表不包含最后项(也就是 isEmpty() 返回TRUE), 这个返回值是不确定的。const T & QValueList:last () const为了提供方便,这是一个重载成员函数。它本身的行为像上面的方法。bool QValueList:operator!= ( const QValueList & l ) const比较两个列表.如果列表和 l 不等返回TRUE; 否则返回FALSE.QValueList QValueList:operator+ ( const QValueList & l ) const创建一个新列表并带有所有的项. l 项是附加的. 返回新列表.QValueList & QValueList:operator+= ( const QValueList & l )向列表中添加 l 项. 返回这个列表的参数.QValueList & QValueList:operator+= ( const T & x )为了提供方便,这是一个重载成员函数。它本身的行为像上面的方法。向列表中添加x值. 返回这个列表的参数.QValueList & QValueList:operator ( const T & x )增加 x 值到列表的结尾.返回列表参数.QValueList & QValueList:operator= ( const QValueList & l )分配l 到这个列表 并返回这个列表参数.当前列表的所有迭代器通过这个操作都变为无效的。像这样的常量是 O(1) 自从 QValueList是暗中共享.QValueList & QValueList:operator= ( const std:list & l )为了提供方便,这是一个重载成员函数。它本身的行为像上面的方法。分配l 的内存到列表.当前列表的所有迭代器通过这个操作都变为无效的.bool QValueList:operator= ( const QValueList & l ) const比较两个列表.如果列表和 l 相等返回TRUE; 否则返回FALSE.bool QValueList:operator= ( const std:list & l ) const为了提供方便,这是一个重载成员函数。它本身的行为像上面的方法。如果列表和 l 相等返回TRUE; 否则返回

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论