std::unordered_map::end, std::unordered_map::cend
Материал из cppreference.com
< cpp | container | unordered map
iterator end() noexcept; |
(начиная с C++11) | |
const_iterator end() const noexcept; |
(начиная с C++11) | |
const_iterator cend() const noexcept; |
(начиная с C++11) | |
Возвращает итератор на элемент, следующий за последним элементом unordered_map
.
Этот элемент существует лишь условно, попытка доступа к нему приведёт к неопределённому поведению.
Содержание |
[править] Параметры
(нет)
[править] Возвращаемое значение
Итератор на элемент, следующий за последним элементом.
[править] Сложность
Константная
[править] Пример
Запустить этот код
#include <cmath> #include <iostream> #include <unordered_map> struct Node { double x, y; }; int main() { Node nodes[3] = { {1, 0}, {2, 0}, {3, 0} }; // mag - map, сопоставляющий адрес Node к длине вектора на плоскости std::unordered_map<Node *, double> mag = { { nodes, 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(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) |
возвращает итератор на начало (public функция-элемент) |