std::unordered_map<Key,T,Hash,KeyEqual,Allocator>:: begin, std::unordered_map<Key,T,Hash,KeyEqual,Allocator>:: cbegin
From cppreference.net
<
cpp
|
container
|
unordered map
|
iterator begin
(
)
noexcept
;
|
(1) |
(начиная с C++11)
(constexpr начиная с C++26) |
|
const_iterator begin
(
)
const
noexcept
;
|
(2) |
(начиная с C++11)
(constexpr начиная с C++26) |
|
const_iterator cbegin
(
)
const
noexcept
;
|
(3) |
(начиная с C++11)
(constexpr начиная с C++26) |
Возвращает итератор на первый элемент * this .
Если * this пуст, возвращаемый итератор будет равен end() .
Содержание |
Возвращаемое значение
Итератор на первый элемент.
Сложность
Константа.
Пример
Запустить этот код
#include <cmath> #include <iostream> #include <unordered_map> struct Node { double x, y; }; int main() { Node nodes[3] = {{1, 0}, {2, 0}, {3, 0}}; // mag - это отображение, связывающее адрес Node с его величиной на плоскости std::unordered_map<Node*, double> mag = { { nodes + 0, 1 }, { nodes + 1, 2 }, { nodes + 2, 3 } }; // Изменить каждую y-координату с 0 на величину for (auto iter = mag.begin(); iter != mag.end(); ++iter) { auto cur = iter->first; // указатель на Node cur->y = mag[cur]; // можно было также использовать cur->y = iter->second; } // Обновить и вывести величину каждого узла for (auto iter = mag.begin(); iter != mag.end(); ++iter) { auto cur = iter->first; mag[cur] = std::hypot(cur->x, cur->y); std::cout << "Величина (" << cur->x << ", " << cur->y << ") равна "; std::cout << iter->second << '\n'; } // Повторить вышеописанное с использованием цикла for на основе диапазона for (auto i : mag) { auto cur = i.first; cur->y = i.second; mag[cur] = std::hypot(cur->x, cur->y); std::cout << "Величина (" << cur->x << ", " << cur->y << ") равна "; std::cout << mag[cur] << '\n'; // В отличие от std::cout << iter->second << '\n'; выше, // std::cout << i.second << '\n'; НЕ выведет обновленную величину } }
Возможный вывод:
Величина (3, 3) равна 4.24264 Величина (1, 1) равна 1.41421 Величина (2, 2) равна 2.82843 Величина (3, 4.24264) равна 5.19615 Величина (1, 1.41421) равна 1.73205 Величина (2, 2.82843) равна 3.4641
Смотрите также
|
возвращает итератор на конец
(публичная функция-член) |
|
|
(C++11)
(C++14)
|
возвращает итератор на начало контейнера или массива
(шаблон функции) |