964 B
964 B
HashMap::Copy/Move 构造
HashMap(const HashMap& other);
HashMap(HashMap&& other) noexcept;
拷贝构造和移动构造。
参数:
other- 源哈希表(拷贝版本为const引用,移动版本为右值引用)
返回: 无(构造函数)
复杂度:
- 拷贝构造:O(m_bucketCount + other.m_size)
- 移动构造:O(m_bucketCount),移动构造需要遍历所有桶以重新建立桶的指针关系
线程安全: ❌ 非线程安全
异常: 无
示例:
XCEngine::Containers::HashMap<int, std::string> map1;
map1.Insert(1, "hello");
map1.Insert(2, "world");
XCEngine::Containers::HashMap<int, std::string> map2(map1); // 拷贝构造
XCEngine::Containers::HashMap<int, std::string> map3(std::move(map1)); // 移动构造,map1 在此调用后状态不确定
相关文档
- HashMap 总览 - 返回类总览
- operator= - 赋值运算符