unordered_set是一种关联容器,含有Key类型的唯一对象集合。搜索、插入和移除拥有平均常数时间复杂度。 在内部,元素并不以任何特别顺序排序,而是组织进桶中。元素被放进哪个桶完全依赖其值的散列。这允许对单独元素的快速访问,因为一旦计算了散列值,它就指代元素被放入的确切的桶。
From cppreference.com std::unordered_set (1) iterator erase(iterator pos); (since C++11) (until C++23) iterator erase(iterator pos) requires(!std::same_as<iterator, const_iterator>); (since C++23) iterator erase(const_iterator pos); ...
__cpp_lib_associative_heterogeneous_erasure202110L(C++23)Heterogeneous erasure inassociative containersandunordered associative containers,(3) Example Run this code #include <algorithm>#include <iostream>#include <string_view>#include <unordered_set>voidprint(std::string_viewcomment,constauto&data){std...
cppreference.com 创建账户 页面 讨论 变换 查看 编辑 历史 std::unordered_set<Key,Hash,KeyEqual,Allocator>::max_sizeC++ 容器库 std::unordered_set size_type max_size() const noexcept; (C++11 起) (C++26 起为 constexpr) 返回容器根据系统或库实现限制而可保有的元素最大数量,即对于最大容器的 ...
const_referenceconst value_type& pointerstd::allocator_traits<Allocator>::pointer const_pointerstd::allocator_traits<Allocator>::const_pointer iterator常遗留向前迭代器(LegacyForwardIterator) const_iterator常向前迭代器 local_iterator类别、值、差、指针和引用类型都与iterator相同的迭代器类型。
你想做的事情可以通过std::unodered_set::extract完成。cppreference的例子:
您不能修改unordered_set中的元素。即使使用非常量迭代器,也无法修改它们。我不确定它们是否是const,但无论如何,它们实际上是恒定的。您不能修改它们。来自cppreference: 容器元素可能不会被修改(即使是非常量迭代器),因为修改可能会更改元素的哈希并损坏容器。
API Reference Document std::unordered_set<Key,Hash,KeyEqual,Allocator>::operator=C++ Containers library std::unordered_set unordered_set& operator=( const unordered_set& other ); (1) (since C++11) (2) unordered_set& operator=( unordered_set&& other ); (since C++11) (until C++17) ...
const_reference const value_type& pointer std::allocator_traits<Allocator>::pointer const_pointer std::allocator_traits<Allocator>::const_pointer iterator 常遗留向前迭代器 (LegacyForwardIterator) const_iterator 常向前迭代器 local_iterator 类别、值、差、指针和引用类型都与 iterator 相同的迭代器类型...
noexcept 复杂性 容器的大小成线性。 另见 erase erases elements (public member function) 代码语言:txt 复制 © cppreference.com 在CreativeCommonsAttribution下授权-ShareAlike未移植许可v3.0。 http://en.cppreference.com/w/cpp/container/unorder[医]设置/清除 ...