Files
XCEngine/docs/api/containers/hashmap/operator-assign.md

41 lines
993 B
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# HashMap::operator=
```cpp
HashMap& operator=(const HashMap& other);
HashMap& operator=(HashMap&& other) noexcept;
```
赋值运算符,用另一个 HashMap 的内容替换当前内容。
**参数:**
- `other` - 源哈希表(拷贝版本为 `const` 引用,移动版本为右值引用)
**返回:** 对当前对象的引用 (`*this`)
**复杂度:**
- 拷贝赋值O(m_bucketCount + other.m_size)
- 移动赋值O(m_size),需要先清空当前内容
**线程安全:** ❌ 非线程安全
**异常:**
**示例:**
```cpp
XCEngine::Containers::HashMap<int, const char*> map1;
map1.Insert(1, "one");
map1.Insert(2, "two");
XCEngine::Containers::HashMap<int, const char*> map2;
map2 = map1; // 拷贝赋值
XCEngine::Containers::HashMap<int, const char*> map3;
map3 = std::move(map1); // 移动赋值map1 在此调用后状态不确定
```
## 相关文档
- [HashMap 总览](hashmap.md) - 返回类总览
- [Copy/Move](copy-move.md) - 拷贝/移动构造