std::hive<T,Allocator>::get_iterator
来自 zh.cppreference.net
iterator get_iterator( const_pointer p ) noexcept;
|
(1) | (自C++26起) |
const_iterator get_iterator( const_pointer p ) const noexcept;
|
(2) | (自C++26起) |
指向与相同的元素 pp.*this如果 p 不指向 *this 中的元素,则行为未定义。
参数
| p | - | 指向元素的指针 |
返回值
一个迭代器指向与相同的元素 pp.
复杂度
线性于 活跃块 在 *this*this.
示例
运行此代码
#include <cassert>
#include <hive>
#include <iostream>
struct Bee { int id{}; };
int main()
{
std::hive<Bee> bees;
// populate the hive
for (int id{}; id != 14; ++id)
bees.emplace(++id);
// get the address of the last element
Bee* bee = &*--bees.end();
std::cout << "bee->id = " << bee->id << '\n';
// remove all elements with even id
std::erase_if(bees, [](const Bee& bee) { return (bee.id % 2) == 0; });
auto iter = bees.get_iterator(bee);
assert(iter == --bees.end());
std::cout << "iter->id = " << iter->id << '\n';
}
输出:
bee->id = 13
iter->id = 13
另见
| 返回指向起始的迭代器 (公开成员函数) | |
| 返回指向末尾的迭代器 (公开成员函数) | |
| 返回指向起始的反向迭代器 (公开成员函数) | |
| 返回指向末尾的反向迭代器 (公开成员函数) |