QMap类
template <typename Key, typename T> class QMapQMap类是一个模板类,提供了关联数组。 更多信息...
头文件 | #include <QMap> |
CMake | find_package(Qt6 REQUIRED COMPONENTS Core) target_link_libraries(mytarget PRIVATE Qt6::Core) |
qmake | QT += core |
- 所有成员的列表,包括继承的成员
- QMap是隐式共享类的一部分。
注意:本类中的所有函数都是重入的.
公共类型
class | const_iterator |
class | iterator |
class | key_iterator |
ConstIterator | |
Iterator | |
const_key_value_iterator | |
difference_type | |
key_type | |
key_value_iterator | |
mapped_type | |
size_type |
公共函数
QMap() | |
QMap(std::initializer_list<std::pair<Key, T>> list) | |
QMap(const std::map<Key, T> &other) | |
QMap(std::map<Key, T> &&other) | |
QMap(const QMap<Key, T> &other) | |
QMap(QMap<Key, T> &&other) | |
~QMap() | |
(since 6.4) auto | asKeyValueRange() & |
(since 6.4) auto | asKeyValueRange() const & |
(since 6.4) auto | asKeyValueRange() && |
(since 6.4) auto | asKeyValueRange() const && |
QMap<Key, T>::iterator | begin() |
QMap<Key, T>::const_iterator | begin() const |
QMap<Key, T>::const_iterator | cbegin() const |
QMap<Key, T>::const_iterator | cend() const |
void | clear() |
QMap<Key, T>::const_iterator | constBegin() const |
QMap<Key, T>::const_iterator | constEnd() const |
QMap<Key, T>::const_iterator | constFind(const Key &key) const |
QMap<Key, T>::const_key_value_iterator | constKeyValueBegin() const |
QMap<Key, T>::const_key_value_iterator | constKeyValueEnd() const |
bool | contains(const Key &key) const |
QMap<Key, T>::size_type | count(const Key &key) const |
QMap<Key, T>::size_type | count() const |
bool | empty() const |
QMap<Key, T>::iterator | end() |
QMap<Key, T>::const_iterator | end() const |
std::pair<QMap<Key, T>::iterator, QMap<Key, T>::iterator> | equal_range(const Key &key) |
std::pair<QMap<Key, T>::const_iterator, QMap<Key, T>::const_iterator> | equal_range(const Key &key) const |
QMap<Key, T>::iterator | erase(QMap<Key, T>::const_iterator pos) |
(since 6.0) QMap<Key, T>::iterator | erase(QMap<Key, T>::const_iterator first, QMap<Key, T>::const_iterator last) |
QMap<Key, T>::iterator | find(const Key &key) |
QMap<Key, T>::const_iterator | find(const Key &key) const |
T & | first() |
const T & | first() const |
const Key & | firstKey() const |
QMap<Key, T>::iterator | insert(const Key &key, const T &value) |
QMap<Key, T>::iterator | insert(QMap<Key, T>::const_iterator pos, const Key &key, const T &value) |
void | insert(const QMap<Key, T> &map) |
void | insert(QMap<Key, T> &&map) |
bool | isEmpty() const |
Key | key(const T &value, const Key &defaultKey = Key()) const |
QMap<Key, T>::key_iterator | keyBegin() const |
QMap<Key, T>::key_iterator | keyEnd() const |
QMap<Key, T>::key_value_iterator | keyValueBegin() |
QMap<Key, T>::const_key_value_iterator | keyValueBegin() const |
QMap<Key, T>::key_value_iterator | keyValueEnd() |
QMap<Key, T>::const_key_value_iterator | keyValueEnd() const |
QList<Key> | keys() const |
QList<Key> | keys(const T &value) const |
T & | last() |
const T & | last() const |
const Key & | lastKey() const |
QMap<Key, T>::iterator | lowerBound(const Key &key) |
QMap<Key, T>::const_iterator | lowerBound(const Key &key) const |
QMap<Key, T>::size_type | remove(const Key &key) |
(since 6.1) QMap<Key, T>::size_type | removeIf(Predicate pred) |
QMap<Key, T>::size_type | size() const |
void | swap(QMap<Key, T> &other) |
T | take(const Key &key) |
std::map<Key, T> | toStdMap() const & |
(since 6.0) std::map<Key, T> | toStdMap() && |
QMap<Key, T>::iterator | upperBound(const Key &key) |
QMap<Key, T>::const_iterator | upperBound(const Key &key) const |
T | value(const Key &key, const T &defaultValue = T()) const |
QList<T> | values() const |
QMap<Key, T> & | operator=(const QMap<Key, T> &other) |
QMap<Key, T> & | operator=(QMap<Key, T> &&other) |
T & | operator[](const Key &key) |
T | operator[](const Key &key) const |
相关非成员
(since 6.1) qsizetype | erase_if(QMap<Key, T> &map, Predicate pred) |
bool | operator!=(const QMap<Key, T> &lhs, const QMap<Key, T> &rhs) |
QDataStream & | operator<<(QDataStream &out, const QMap<Key, T> &map) |
bool | operator==(const QMap<Key, T> &lhs, const QMap<Key, T> &rhs) |
QDataStream & | operator>>(QDataStream &in, QMap<Key, T> &map) |
详细描述
QMap<Key, T> 是 Qt 的一种通用容器类,存储 (键,值) 对并提供按键快速检索。
QMap 和 QHash 提供了非常相似的功能。它们的区别在于
- QHash 提供的平均查找速度比 QMap 快。(详情请见 算法复杂度。)
- 在迭代 QHash 时,项将被任意排序。而在 QMap 中,项总是按键值排序。
- QHash 的键类型必须提供 operator==() 和全局 qHash(Key) 函数。QMap 的键类型必须提供 operator<() 确定一个全序。从 Qt 5.8.1 开始,还可以安全地使用指针类型作为键值,即使底层的 operator<() 不提供全序。
以下是一个具有 QString 键值和 int
值的 QMap 的示例
要将 (键,值) 对插入到映射中,可以使用 operator[]()
map["one"] = 1; map["three"] = 3; map["seven"] = 7;
这会将以下三个 (键,值) 对插入到 QMap 中:("one", 1),("three", 3) 和 ("seven", 7)。另一种将项插入映射的方法是使用 insert()
map.insert("twelve", 12);
要查找值,请使用 operator[]() 或者 value()
int num1 = map["thirteen"]; int num2 = map.value("thirteen");
如果映射中没有特定键的项,这些函数将返回默认构造值。
如果您想检查映射是否包含某个键,请使用 contains()
int timeout = 30; if (map.contains("TIMEOUT")) timeout = map.value("TIMEOUT");
还有一个 value() 重载版,如果映射中没有指定键的项,它将使用其第二个参数作为默认值。
int timeout = map.value("TIMEOUT", 30);
通常建议您在映射中查找键时使用 contains() 和 value() 而不是 operator[]()。原因在于,如果映射中没有相同键的项(除非映射是 const),operator[]() 默认会插入一个新项。例如,以下代码片段将创建 1000 个内存项
// WRONG QMap<int, QWidget *> map; ... for (int i = 0; i < 1000; ++i) { if (map[i] == okButton) cout << "Found button at index " << i << endl; }
为了避免这个问题,在上面的代码中将 map[i]
替换为 map.value(i)
。
如果您想遍历存储在 QMap 中的所有 (键,值) 对,可以使用迭代器。QMap 提供了 Java 样式迭代器(《QMapIterator》和《QMutableMapIterator》)和 STL 样式迭代器(《QMap::const_iterator》和《QMap::iterator》)。以下是使用 Java 样式迭代器遍历 QMap< QString, int> 的示例
QMapIterator<QString, int> i(map); while (i.hasNext()) { i.next(); cout << qPrintable(i.key()) << ": " << i.value() << endl; }
以下是使用 STL 样式迭代器的相同代码
for (auto i = map.cbegin(), end = map.cend(); i != end; ++i) cout << qPrintable(i.key()) << ": " << i.value() << endl;
项是按照升序键值顺序遍历的。
QMap 允许每个键只有一个值。如果您使用已在 QMap 中存在的键调用 insert(),则之前的值将被删除。例如
map.insert("plenty", 100); map.insert("plenty", 2000); // map.value("plenty") == 2000
但是,您可以通过使用 QMultiMap 来为每个键存储多个值。
如果您只需要从映射中提取值(而不是键),您也可以使用基于范围的 for 循环
可以通过多种方式从映射中删除项。一种方法是调用 remove(); 这将删除任何具有给定键的项。另一种方法是使用 QMutableMapIterator::remove()。此外,您还可以使用 clear() 清除整个映射。
QMap 的键和值数据类型必须是 可赋值的数据类型。这涵盖了您可能会遇到的大多数数据类型,但编译器不会允许您将 QWidget 存储为一个值;相反,存储为一个 QWidget *. 此外,QMap 的键类型必须提供 operator<()。QMap 使用它来保持其_sorted_,并假定如果 x
和 y
都不成立,则两个键 x
和 y
是等价的。
示例
#ifndef EMPLOYEE_H #define EMPLOYEE_H class Employee { public: Employee() {} Employee(const QString &name, QDate dateOfBirth); ... private: QString myName; QDate myDateOfBirth; }; inline bool operator<(const Employee &e1, const Employee &e2) { if (e1.name() != e2.name()) return e1.name() < e2.name(); return e1.dateOfBirth() < e2.dateOfBirth(); } #endif // EMPLOYEE_H
在示例中,我们首先比较员工的名字。如果它们相等,我们通过比较他们的出生日期来打破平局。
另请参阅 QMapIterator、QMutableMapIterator、QHash 和 QSet。
成员类型文档
QMap::ConstIterator
Qt样式的QMap::const_iterator同义词。
QMap::Iterator
Qt样式的QMap::iterator同义词。
QMap::const_key_value_iterator
QMap::const_key_value_iterator类型定义提供了QMap的STL样式迭代器。
QMap::const_key_value_iterator基本上与QMap::const_iterator相同,区别在于operator*()返回一个键/值对而不是一个值。
另请参阅 QKeyValueIterator。
[别名]
QMap::difference_type
typedef为ptrdiff_t。为STL兼容性提供。
[别名]
QMap::key_type
typedef为Key。为STL兼容性提供。
QMap::key_value_iterator
QMap::key_value_iterator类型定义提供了QMap的STL样式迭代器。
QMap::key_value_iterator基本上与QMap::iterator相同,区别在于operator*()返回一个键/值对而不是一个值。
另请参阅 QKeyValueIterator。
[别名]
QMap::mapped_type
typedef为T。为STL兼容性提供。
[别名]
QMap::size_type
typedef为int。为STL兼容性提供。
成员函数文档
[自6.4起]
auto QMap::asKeyValueRange() &
[自6.4起]
auto QMap::asKeyValueRange() &&
[自6.4起]
auto QMap::asKeyValueRange() const &
[自6.4起]
auto QMap::asKeyValueRange() const &&
返回一个范围对象,允许作为键/值对迭代此映射。例如,此范围对象可以用在基于范围的for循环中,与结构化绑定声明结合使用。
QMap<QString, int> map; map.insert("January", 1); map.insert("February", 2); // ... map.insert("December", 12); for (auto [key, value] : map.asKeyValueRange()) { cout << qPrintable(key) << ": " << value << endl; --value; // convert to JS month indexing }
请注意,以这种方式获得的关键和值都是映射中引用的。具体来说,更改值将修改映射本身。
此函数在Qt 6.4中引入。
另请参阅 QKeyValueIterator。
QMap::QMap()
构建一个空映射。
另请参阅 clear()。
QMap::QMap(std::initializer_list<std::pair<Key, T>> list)
通过初始化列表list中每个元素的副本来构建一个映射。
[显式构造]
QMap::QMap(const std::map<Key, T> &other)
构建other的副本。
另请参阅toStdMap().
[显式构造]
QMap::QMap(std::map<Key, T> &&other)
通过移动从other构造一个映射。
另请参阅toStdMap().
[默认 "
QMap::QMap(const QMap<Key, T> &other)
构建other的副本。
此操作在恒定时间内完成,因为QMap是隐式共享的。这使得从函数返回QMap非常快。如果修改共享实例,它将被复制(写时复制),这需要线性时间。
另请参阅operator=.
[默认]
QMap::QMap(QMap<Key, T> &&other)
移动构造QMap实例。
[默认]
QMap::~QMap()
销毁映射。对映射中值的引用以及此映射的所有迭代器都变得无效。
QMap<Key, T>::iterator QMap::begin()
返回一个指向映射中第一个元素的STL样式迭代器。
另请参阅constBegin()和end().
QMap<Key, T>::const_iterator QMap::begin() const
这是一个重载函数。
QMap<Key, T>::const_iterator QMap::cbegin() const
返回一个指向映射中第一个元素的非修改STL样式迭代器。
QMap<Key, T>::const_iterator QMap::cend() const
返回一个指向映射中最后一个元素的STL样式迭代器。
void QMap::clear()
从映射中删除所有元素。
另请参阅remove().
QMap<Key, T>::const_iterator QMap::constBegin() const
返回一个指向映射中第一个元素的非修改STL样式迭代器。
QMap<Key, T>::const_iterator QMap::constEnd() const
返回一个指向映射中最后一个元素的STL样式迭代器。
另请参阅constBegin()和end().
QMap<Key, T>::const_iterator QMap::constFind(const Key &key) const
返回一个指向键 key 在该映射中项的常量迭代器。
如果映射不包含具有键 key 的项,则该函数返回 constEnd。
另请参阅find。
QMap<Key, T>::const_key_value_iterator QMap::constKeyValueBegin() const
返回一个指向映射中第一个条目的常量 STL-style iterator。
另请参阅keyValueBegin。
QMap<Key, T>::const_key_value_iterator QMap::constKeyValueEnd() const
返回一个指向映射中最后一个条目的虚拟条目的常量 STL-style iterator。
另请参阅constKeyValueBegin。
bool QMap::contains(const Key &key) const
如果映射包含具有键 key 的项,则返回 true
;否则返回 false
。
另请参阅count。
QMap<Key, T>::size_type QMap::count(const Key &key) const
返回与键 key 关联的项数。
另请参阅contains。
QMap<Key, T>::size_type QMap::count() const
这是一个重载函数。
与 size 相同。
bool QMap::empty() const
此函数提供与 STL 兼容。它等价于 isEmpty(),如果映射为空,则返回 true;否则返回 false。
QMap<Key, T>::iterator QMap::end
返回一个指向映射中最后一个虚拟项的 STL-style iterator。
QMap<Key, T>::const_iterator QMap::end() const
这是一个重载函数。
std::pair<QMap<Key, T>::iterator, QMap<Key, T>::iterator> QMap::equal_range(const Key &key)
返回一对迭代器,用于界定在key下存储的值的范围 [first, second)
。
std::pair<QMap<Key, T>::const_iterator, QMap<Key, T>::const_iterator> QMap::equal_range(const Key &key) const
这是一个重载函数。
QMap<Key, T>::iterator QMap::erase(QMap<Key, T>::const_iterator pos)
从地图中删除由迭代器pos指向的(键,值)对,并返回指向地图中下一个元素的迭代器。
注意:迭代器pos必须有效且可解引用。
另请参阅remove().
[since 6.0]
QMap<Key, T>::iterator QMap::erase(QMap<Key, T>::const_iterator first, QMap<Key, T>::const_iterator last)
从地图中删除由迭代器范围 [first, last) 指向的(键,值)对。返回指向删除元素之后地图中元素的迭代器。
注意:范围 [first, last)
必须是 *this
中的有效范围。
此函数是在 Qt 6.0 中引入的。
另请参阅remove().
QMap<Key, T>::iterator QMap::find(const Key &key)
返回指向具有键 key 的地图项的迭代器。
如果地图中不包含键 key 的元素,则该函数返回 end()。
另请参阅:constFind()、value()、values()、lowerBound() 和 upperBound。
QMap<Key, T>::const_iterator QMap::find(const Key &key) const
这是一个重载函数。
T &QMap::first()
返回对地图中第一个值的引用,即映射到最小键的值。此函数假定该映射不为空。
在调用(或const版本)时,该操作以 常数时间 执行。
另请参阅:last()、firstKey() 和 isEmpty()。
const T &QMap::first() const
这是一个重载函数。
const Key &QMap::firstKey() const
返回映射中最小键的引用。此函数假设映射不为空。
此操作在常数时间内执行。
另请参阅lastKey(),first(),keyBegin(),以及isEmpty()。
QMap<Key, T>::iterator QMap::insert(const Key &key, const T &value)
插入一个新项目,其键为key,值为value。
如果已存在键为key的项目,则其值将被value替换。
返回指向新/更新元素的迭代器。
QMap<Key, T>::iterator QMap::insert(QMap<Key, T>::const_iterator pos, const Key &key, const T &value)
这是一个重载函数。
在指定位置pos处插入具有键key和值value的新项。
如果使用constBegin()作为提示,则表示该key小于映射中的任何键,而constEnd()则表示该key大于映射中的任何键。否则,提示应满足条件 (pos - 1)。 key() < key <= pos.key().如果提示pos不正确,则将其忽略并执行常规插入。
如果已存在键为key的项目,则其值将被value替换。
如果提示正确且映射未共享,则插入操作在平均常数时间内执行。
当从排序数据创建映射时,首先使用constBegin()插入最大的键比以排序顺序使用constEnd()插入更快,因为constEnd() - 1(用于检查提示是否有效)需要对数时间。
注意:请小心使用提示。使用旧共享实例的迭代器可能会导致崩溃,同时也存在将映射和pos映射静默损坏的风险。
返回指向新/更新元素的迭代器。
void QMap::insert(const QMap<Key, T> &map)
将map中的所有项目插入到当前映射中。
如果两个映射都存在键是通用的,其值将用map中存储的值替换。
void QMap::insert(QMap<Key, T> &&map)
将map中的所有项目移动到当前映射中。
如果两个映射都存在键是通用的,其值将用map中存储的值替换。
如果map是共享的,则将复制这些项目。
bool QMap::isEmpty() const
如果映射不包含任何项目,则返回true
;否则返回false。
另请参阅size()。
Key QMap::key(const T &value, const Key &defaultKey = Key()) const
这是一个重载函数。
返回值为 value 的第一个键,若地图中不含有值为 value 的项,则返回 defaultKey。如果没有提供 defaultKey,则函数返回一个 默认构造的键。
此函数可能较慢 (线性时间),因为 QMap 的内部数据结构是针对通过键快速查找而优化的,而非通过值。
QMap<Key, T>::key_iterator QMap::keyBegin() const
返回一个指向地图中第一个键的常量 STL风格的迭代器。
QMap<Key, T>::key_iterator QMap::keyEnd() const
返回一个指向地图中最后一个键之后的虚拟元素的常量 STL风格的迭代器。
QMap<Key, T>::key_value_iterator QMap::keyValueBegin()
返回一个指向地图中第一个条目的 STL风格的迭代器。
另请参阅keyValueEnd()。
QMap<Key, T>::const_key_value_iterator QMap::keyValueBegin() const
返回一个指向映射中第一个条目的常量 STL-style iterator。
另请参阅keyValueEnd()。
QMap<Key, T>::key_value_iterator QMap::keyValueEnd()
返回一个指向地图中最后一个条目之后的虚拟条目的 STL风格的迭代器。
另请参阅keyValueBegin。
QMap<Key, T>::const_key_value_iterator QMap::keyValueEnd() const
返回一个指向映射中最后一个条目的虚拟条目的常量 STL-style iterator。
另请参阅keyValueBegin。
QList<Key> QMap::keys() const
返回一个包含地图中所有键的列表,键按升序排列。
顺序保证与 values() 中使用的顺序相同。
此函数会创建一个新列表,在 线性时间 内完成。可以通过从 keyBegin() 到 keyEnd() 进行迭代来避免所需的时间和内存使用。
QList<Key> QMap::keys(const T &value) const
这是一个重载函数。
返回一个包含与 value 值相关联的所有键的列表,键按升序排列。
此函数可能较慢 (线性时间),因为 QMap 的内部数据结构是针对通过键快速查找而优化的,而非通过值。
T &QMap::last()
返回到map中最后一个值的引用,即映射到最大键的值。此函数假设map不为空。
在不共享(或调用const版本时),此操作在对数时间内执行。
另请参阅first(),lastKey() 和 isEmpty()。
const T &QMap::last() const
这是一个重载函数。
const Key &QMap::lastKey() const
返回map中最大键的引用。此函数假设map不为空。
此操作在对数时间内执行。
另请参阅firstKey(),last(),keyEnd() 和 isEmpty()。
QMap<Key, T>::iterator QMap::lowerBound(const Key &key)
返回一个指向map中第一个具有键key的元素的迭代器。如果map不包含具有键key的项,则函数返回指向具有更大键的最近项的迭代器。
另请参阅upperBound() 和 find()。
QMap<Key, T>::const_iterator QMap::lowerBound(const Key &key) const
这是一个重载函数。
QMap<Key, T>::size_type QMap::remove(const Key &key)
从map中删除所有具有键key的项。返回删除的项目数,如果键存在于map中,则为1,否则为0。
[since 6.1]
template <typename Predicate> QMap<Key, T>::size_type QMap::removeIf(Predicate pred)
从map中删除所有使谓词pred返回true的元素。
函数支持接受类型为QMap<Key, T>::iterator
或类型为std::pair<const Key &, T &>
的参数的谓词。
如果有任何元素被删除,则返回删除的元素数。
此函数是在Qt 6.1中引入的。
QMap<Key, T>::size_type QMap::size() const
返回map中(key, value)对的数量。
[noexcept]
void QMap::swap(QMap<Key, T> &other)
与此map交换map other。此操作非常快且从不失败。
T QMap::take(const Key &key)
从映射中移除键为 key 的项目,并返回与其关联的值。
如果映射中不存在该项目,函数将简单地返回一个 默认构造值。
如果不使用返回值,则使用 remove() 更有效率。
另请参阅remove().
std::map<Key, T> QMap::toStdMap() const &
返回一个与该 QMap 相等的 STL 映射。
[自 6.0]
std::map<Key, T> QMap::toStdMap() &&
这是一个重载函数。
注意:调用此函数将使此 QMap 处于部分形成状态,此时唯一有效的操作是销毁或赋新值。
此函数是在 Qt 6.0 中引入的。
QMap<Key, T>::iterator QMap::upperBound(const Key &key)
返回一个指向映射中键为 key 的最后一个项目的下一个项的迭代器。如果映射中不包含键为 key 的项目,则函数返回指向具有较大键的最接近项目的迭代器。
示例
QMap<int, QString> map; map.insert(1, "one"); map.insert(5, "five"); map.insert(10, "ten"); map.upperBound(0); // returns iterator to (1, "one") map.upperBound(1); // returns iterator to (5, "five") map.upperBound(2); // returns iterator to (5, "five") map.upperBound(10); // returns end() map.upperBound(999); // returns end()
另请参阅lowerBound() 和 find()。
QMap<Key, T>::const_iterator QMap::upperBound(const Key &key) const
这是一个重载函数。
T QMap::value(const Key &key, const T &defaultValue = T()) const
返回与键 key 关联的值。
如果映射中不包含键为 key 的项目,则函数返回 defaultValue。如果没有指定 defaultValue,则函数返回一个 默认构造值。
另请参阅key(),values(),contains(),以及 operator[]。
QList<T> QMap::values() const
返回一个包含映射中所有值的列表,按键的升序排列。
此函数以 线性时间 创建一个新列表。通过从 keyValueBegin() 迭代到 keyValueEnd(),可以避免涉及的时间和内存使用。
[默认]
QMap<Key, T> &QMap::operator=(const QMap<Key, T> &other)
将 other 赋予此映射,并返回对此映射的引用。
[默认]
QMap<Key, T> &QMap::operator=(QMap<Key, T> &&other)
将other移动赋值到本QMap实例。
T &QMap::operator[](const Key &key)
返回与键key关联的值的可修改引用。
如果映射不包含键为key的项目,则该函数将在映射中插入一个具有键key的默认构造值,并返回对其的引用。
T QMap::operator[](const Key &key) const
这是一个重载函数。
等同于 value()。
相关非成员函数
[自 6.1 版起]
模板 <typename Key, typename T, typename Predicate> qsizetype erase_if(QMap<Key, T> &map, Predicate pred)
从映射中删除所有使谓词pred返回true的元素。
函数支持接受类型为QMap<Key, T>::iterator
或类型为std::pair<const Key &, T &>
的参数的谓词。
如果有任何元素被删除,则返回删除的元素数。
此函数是在Qt 6.1中引入的。
bool operator!=(const QMap<Key, T> &lhs, const QMap<Key, T> &rhs)
如果lhs不等于rhs,则返回true
;否则返回false
。
如果两个映射包含相同的(键,值)对,则认为它们是相等的。
此函数要求键和值的类型实现 operator==()
。
另请参阅operator==。
模板 <typename Key, typename T> QDataStream &operator<<(QDataStream &out, const QMap<Key, T> &map)
将映射map写入流out。
此函数要求键和值的类型实现 operator<<()
。
另请参阅QDataStream操作符的格式。
bool operator==(const QMap<Key, T> &lhs, const QMap<Key, T> &rhs)
如果lhs等于rhs,则返回true
;否则返回false
。
如果两个映射包含相同的(键,值)对,则认为它们是相等的。
此函数要求键和值的类型实现 operator==()
。
另请参阅operator!=。
模板 <typename Key, typename T> QDataStream &operator>>(QDataStream &in, QMap<Key, T> &map)
从流in中读取映射到map。
此函数要求键和值的类型实现 operator>>()
。
另请参阅QDataStream操作符的格式。
© 2024 Qt公司有限有限公司。本文件中包含的文档贡献均为各自所有者的版权。此处提供的文档依据自由软件基金会发布的GNU自由文档许可证版本1.3进行许可。Qt及其标志是芬兰及其它国家Qt公司有限公司的商标。商标。所有其他商标均为各自所有者的财产。