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

📄 qmap.cpp

📁 奇趣公司比较新的qt/emd版本
💻 CPP
📖 第 1 页 / 共 4 页
字号:
    existing item.)    \sa insert(), values()*//*! \fn QMap<Key, T> &QMap::unite(const QMap<Key, T> &other)    Inserts all the items in the \a other map into this map. If a    key is common to both maps, the resulting map will contain the    key multiple times.    \sa insertMulti()*//*! \typedef QMap::Iterator    Qt-style synonym for QMap::iterator.*//*! \typedef QMap::ConstIterator    Qt-style synonym for QMap::const_iterator.*//*! \typedef QMap::difference_type    Typedef for ptrdiff_t. Provided for STL compatibility.*//*! \typedef QMap::key_type    Typedef for Key. Provided for STL compatibility.*//*! \typedef QMap::mapped_type    Typedef for T. Provided for STL compatibility.*//*! \typedef QMap::size_type    Typedef for int. Provided for STL compatibility.*//*!     \fn bool QMap::empty() const    This function is provided for STL compatibility. It is equivalent    to isEmpty(), returning true if the map is empty; otherwise    returning false.*//*! \class QMap::iterator    \brief The QMap::iterator class provides an STL-style non-const iterator for QMap and QMultiMap.    QMap features both \l{STL-style iterators} and \l{Java-style    iterators}. The STL-style iterators are more low-level and more    cumbersome to use; on the other hand, they are slightly faster    and, for developers who already know STL, have the advantage of    familiarity.    QMap\<Key, T\>::iterator allows you to iterate over a QMap (or    QMultiMap) and to modify the value (but not the key) stored under    a particular key. If you want to iterate over a const QMap, you    should use QMap::const_iterator. It is generally good practice to    use QMap::const_iterator on a non-const QMap as well, unless you    need to change the QMap through the iterator. Const iterators are    slightly faster, and can improve code readability.    The default QMap::iterator constructor creates an uninitialized    iterator. You must initialize it using a QMap function like    QMap::begin(), QMap::end(), or QMap::find() before you can    start iterating. Here's a typical loop that prints all the (key,    value) pairs stored in a map:    \code        QMap<QString, int> map;        map.insert("January", 1);        map.insert("February", 2);        ...        map.insert("December", 12);        QMap<QString, int>::iterator i;        for (i = map.begin(); i != map.end(); ++i)            cout << i.key() << ": " << i.value() << endl;    \endcode    Unlike QHash, which stores its items in an arbitrary order, QMap    stores its items ordered by key. Items that share the same key    (because they were inserted using QMap::insertMulti(), or due to a    unite()) will appear consecutively, from the most recently to the    least recently inserted value.    Let's see a few examples of things we can do with a    QMap::iterator that we cannot do with a QMap::const_iterator.    Here's an example that increments every value stored in the QMap    by 2:    \code        QMap<QString, int>::iterator i;        for (i = map.begin(); i != map.end(); ++i)            i.value() += 2;    \endcode    Here's an example that removes all the items whose key is a    string that starts with an underscore character:    \code        QMap<QString, int>::iterator i = map.begin();        while (i != map.end()) {            if (i.key().startsWith("_"))                i = map.erase(i);            else                ++i;        }    \endcode    The call to QMap::erase() removes the item pointed to by the    iterator from the map, and returns an iterator to the next item.    Here's another way of removing an item while iterating:    \code        QMap<QString, int>::iterator i = map.begin();        while (i != map.end()) {            QMap<QString, int>::iterator prev = i;            ++i;            if (prev.key().startsWith("_"))                map.erase(prev);        }    \endcode    It might be tempting to write code like this:    \code        // WRONG        while (i != map.end()) {            if (i.key().startsWith("_"))                map.erase(i);            ++i;        }    \endcode    However, this will potentially crash in \c{++i}, because \c i is    a dangling iterator after the call to erase().    Multiple iterators can be used on the same map. If you add items    to the map, existing iterators will remain valid. If you remove    items from the map, iterators that point to the removed items    will become dangling iterators.    \sa QMap::const_iterator, QMutableMapIterator*//*! \fn QMap::iterator::operator QMapData::Node *() const    \internal*//*! \typedef QMap::iterator::difference_type    \internal*//*! \typedef QMap::iterator::iterator_category    \internal*//*! \typedef QMap::iterator::pointer    \internal*//*! \typedef QMap::iterator::reference    \internal*//*! \typedef QMap::iterator::value_type    \internal*//*! \fn QMap::iterator::iterator()    Constructs an uninitialized iterator.    Functions like key(), value(), and operator++() must not be    called on an uninitialized iterator. Use operator=() to assign a    value to it before using it.    \sa QMap::begin() QMap::end()*//*! \fn QMap::iterator::iterator(QMapData::Node *node)    \internal*//*! \fn const Key &QMap::iterator::key() const    Returns the current item's key as a const reference.    There is no direct way of changing an item's key through an    iterator, although it can be done by calling QMap::erase()    followed by QMap::insert() or QMap::insertMulti().    \sa value()*//*! \fn T &QMap::iterator::value() const    Returns a modifiable reference to the current item's value.    You can change the value of an item by using value() on    the left side of an assignment, for example:    \code        if (i.key() == "Hello")            i.value() = "Bonjour";    \endcode    \sa key(), operator*()*//*! \fn T &QMap::iterator::operator*() const    Returns a modifiable reference to the current item's value.    Same as value().    \sa key()*//*! \fn T *QMap::iterator::operator->() const    Returns a pointer to the current item's value.    \sa value()*//*!    \fn bool QMap::iterator::operator==(const iterator &other) const    \fn bool QMap::iterator::operator==(const const_iterator &other) const    Returns true if \a other points to the same item as this    iterator; otherwise returns false.    \sa operator!=()*//*!    \fn bool QMap::iterator::operator!=(const iterator &other) const    \fn bool QMap::iterator::operator!=(const const_iterator &other) const    Returns true if \a other points to a different item than this    iterator; otherwise returns false.    \sa operator==()*//*! \fn QMap::iterator QMap::iterator::operator++()    The prefix ++ operator (\c{++i}) advances the iterator to the    next item in the map and returns an iterator to the new current    item.    Calling this function on QMap::end() leads to undefined results.    \sa operator--()*//*! \fn QMap::iterator QMap::iterator::operator++(int)    \overload    The postfix ++ operator (\c{i++}) advances the iterator to the    next item in the map and returns an iterator to the previously    current item.*//*! \fn QMap::iterator QMap::iterator::operator--()    The prefix -- operator (\c{--i}) makes the preceding item    current and returns an iterator pointing to the new current item.    Calling this function on QMap::begin() leads to undefined    results.    \sa operator++()*//*! \fn QMap::iterator QMap::iterator::operator--(int)    \overload    The prefix -- operator (\c{--i}) makes the preceding item    current and returns an iterator pointing to the previously    current item.*//*! \fn QMap::iterator QMap::iterator::operator+(int j) const    Returns an iterator to the item at \a j positions forward from    this iterator. (If \a j is negative, the iterator goes backward.)    This operation can be slow for large \a j values.    \sa operator-()*//*! \fn QMap::iterator QMap::iterator::operator-(int j) const    Returns an iterator to the item at \a j positions backward from    this iterator. (If \a j is negative, the iterator goes forward.)    This operation can be slow for large \a j values.    \sa operator+()*//*! \fn QMap::iterator &QMap::iterator::operator+=(int j)    Advances the iterator by \a j items. (If \a j is negative, the    iterator goes backward.)    \sa operator-=(), operator+()*//*! \fn QMap::iterator &QMap::iterator::operator-=(int j)    Makes the iterator go back by \a j items. (If \a j is negative,    the iterator goes forward.)    \sa operator+=(), operator-()*//*! \class QMap::const_iterator    \brief The QMap::const_iterator class provides an STL-style const iterator for QMap and QMultiMap.    QMap features both \l{STL-style iterators} and \l{Java-style    iterators}. The STL-style iterators are more low-level and more    cumbersome to use; on the other hand, they are slightly faster    and, for developers who already know STL, have the advantage of    familiarity.    QMap\<Key, T\>::const_iterator allows you to iterate over a QMap    (or a QMultiMap). If you want to modify the QMap as you iterate    over it, you must use QMap::iterator instead. It is generally    good practice to use QMap::const_iterator on a non-const QMap as    well, unless you need to change the QMap through the iterator.    Const iterators are slightly faster, and can improve code    readability.    The default QMap::const_iterator constructor creates an    uninitialized iterator. You must initialize it using a QMap    function like QMap::constBegin(), QMap::constEnd(), or    QMap::find() before you can start iterating. Here's a typical    loop that prints all the (key, value) pairs stored in a map:    \code        QMap<QString, int> map;        map.insert("January", 1);        map.insert("February", 2);        ...        map.insert("December", 12);        QMap<QString, int>::const_iterator i;        for (i = map.constBegin(); i != map.constEnd(); ++i)            cout << i.key() << ": " << i.value() << endl;    \endcode    Unlike QHash, which stores its items in an arbitrary order, QMap    stores its items ordered by key. Items that share the same key    (because they were inserted using QMap::insertMulti()) will    appear consecutively, from the most recently to the least    recently inserted value.    Multiple iterators can be used on the same map. If you add items    to the map, existing iterators will remain valid. If you remove    items from the map, iterators that point to the removed items    will become dangling iterators.    \sa QMap::iterator, QMapIterator*//*! \fn QMap::const_iterator::operator QMapData::Node *() const    \internal*//*! \typedef QMap::const_iterator::difference_type    \internal*//*! \typedef QMap::const_iterator::iterator_category    \internal*//*! \typedef QMap::const_iterator::pointer    \internal*//*! \typedef QMap::const_iterator::reference    \internal*//*! \typedef QMap::const_iterator::value_type    \internal*//*! \fn QMap::const_iterator::const_iterator()    Constructs an uninitialized iterator.    Functions like key(), value(), and operator++() must not be    called on an uninitialized iterator. Use operator=() to assign a    value to it before using it.    \sa QMap::constBegin() QMap::constEnd()*//*! \fn QMap::const_iterator::const_iterator(QMapData::Node *node)    \internal*//*! \fn QMap::const_iterator::const_iterator(const iterator &other)    Constructs a copy of \a other.*//*! \fn const Key &QMap::const_iterator::key() const    Returns the current item's key.

⌨️ 快捷键说明

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