📄 qmapiterator.3qt
字号:
'\" t.TH QMapIterator 3qt "24 January 2005" "Trolltech AS" \" -*- nroff -*-.\" Copyright 1992-2001 Trolltech AS. All rights reserved. See the.\" license file included in the distribution for a complete license.\" statement..\".ad l.nh.SH NAMEQMapIterator \- Iterator for.br.PP\fC#include <qmap.h>\fR.PP.SS "Public Members".in +1c.ti -1c.BI "\fBQMapIterator\fR () ".br.ti -1c.BI "\fBQMapIterator\fR ( QMapNode<K, T> * p ) ".br.ti -1c.BI "\fBQMapIterator\fR ( const QMapIterator<K,T> & it ) ".br.ti -1c.BI "bool \fBoperator==\fR ( const QMapIterator<K,T> & it ) const".br.ti -1c.BI "bool \fBoperator!=\fR ( const QMapIterator<K,T> & it ) const".br.ti -1c.BI "T& \fBoperator*\fR () ".br.ti -1c.BI "const T& \fBoperator*\fR () const".br.ti -1c.BI "const K& \fBkey\fR () const".br.ti -1c.BI "T& \fBdata\fR () ".br.ti -1c.BI "const T& \fBdata\fR () const".br.in -1c.SH DESCRIPTIONThe QMapIterator class provides an iterator for QMap..PPYou can not create an iterator by yourself. Instead you have to ask a map to give you one. An iterator has only the size of a pointer. On 32 bit machines that means 4 bytes otherwise 8 bytes. That makes them very fast. In fact they resemble the semantics of pointers as good as possible and they are almost as fast as usual pointers..PPExample:.PP.nf.br #include <qmap.h>.br #include <qstring.h>.br #include <stdio.h>.br.br class Employee.br {.br public:.br Employee(): s(0) {}.br Employee( const QString& name, int salary ).br : n(name), s(salary).br {}.br.br QString name() const { return n; }.br int salary() const { return s; }.br void setSalary( int salary ) { s = salary; }.br private:.br QString n;.br int s;.br };.br.br void main().br {.br typedef QMap<QString,Employee> EmployeeMap;.br EmployeeMap map; // map of Employee.br.br map.insert( "Gates", Employee("Bill", 50000) );.br map.insert( "Ballmer", Employee("Steve",80000) );.br map.insert( "Sommer,", Employee("Ron", 60000) );.br.br Employee joe( "Joe", 50000 );.br map.insert( "Doe", joe );.br joe.setSalary( 4000 );.br.br EmployeeMap::Iterator it;.br for( it = map.begin(); it != map.end(); ++it ).br printf( "%s, %s earns %d\\n", it.key().latin1(), it.data().name().latin1(), it.data().salary() );.br }.fi.PPProgram output:.PP.nf.br Ballmer, Steve earns 80000.br Doe, Joe earns 50000.br Gates, Bill earns 50000.br Sommer, Ron earns 60000.fi.PPThe only way to traverse a map is to use iterators. QMap is highly optimized for performance and memory usage. On the other hand that means that you have to be a bit more careful by what you are doing. QMap does not know about all its iterators and the iterators don't even know to which map they belong. That makes things fast and slim but a bit dangerous because it is up to you to make sure that iterators you are using are still valid. QDictIterator will be able to give warnings while QMapIterator may end up in an undefined state..PPFor every Iterator there is a ConstIterator. When accessing a QMap in a const environment or if the reference or pointer to the map is itself const, then you have to use the ConstIterator. Its semantics are the same, but it returns only const references to the item it points to..PPSee also QMap..SH MEMBER FUNCTION DOCUMENTATION.SH "QMapIterator::QMapIterator ()"Creates an uninitialized iterator..SH "QMapIterator::QMapIterator ( QMapNode<K, T> * p )"Constructs an iterator starting at node \fIp.\fR.SH "QMapIterator::QMapIterator ( const QMapIterator<K,T> & it )"Constructs a copy of the iterator..SH "T& QMapIterator::data ()"Returns a reference to the current item..SH "const T& QMapIterator::data () const"Returns a const reference to the data of the current item..SH "const K& QMapIterator::key () const"Returns a const reference to the data of the current key..SH "bool QMapIterator::operator!= ( const QMapIterator<K,T> & it ) const"Compares both iterators and returns TRUE if they point to different items..SH "T& QMapIterator::operator* ()"Asterix operator. Returns a reference to the current item. The same as data()..SH "const T& QMapIterator::operator* () const"Asterix operator. Returns a const reference to the current item. The same as data()..SH "bool QMapIterator::operator== ( const QMapIterator<K,T> & it ) const"Compares both iterators and returns TRUE if they point to the sameitem..SH "SEE ALSO".BR http://doc.trolltech.com/qmapiterator.html.BR http://www.trolltech.com/faq/tech.html.SH COPYRIGHTCopyright 1992-2001 Trolltech AS, http://www.trolltech.com. See thelicense file included in the distribution for a complete licensestatement..SH AUTHORGenerated automatically from the source code..SH BUGSIf you find a bug in Qt, please report it as described in.BR http://doc.trolltech.com/bughowto.html .Good bug reports make our job much simpler. Thank you..PIn case of content or formattting problems with this manual page, pleasereport them to.BR qt-bugs@trolltech.com .Please include the name of the manual page (qmapiterator.3qt) and the Qtversion (2.3.10).
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -