close
Пространства имён
Варианты
Действия

std::map::operator[]

Материал из cppreference.com

<metanoindex/>

 
 
 
std::map
Функции элементы
Доступ к элементам
Итераторы
Ёмкость
Модификаторы
(C++17)
Просмотр
Наблюдатели
Функции, не являющиеся элементами
(C++20)
(до C++20)(до C++20)(до C++20)(до C++20)(до C++20)(C++20)
Принципы вывода (C++17)
 
<tbody> </tbody>
T& operator[]( const Key& key );
(1)
T& operator[]( Key&& key );
(2) (начиная с C++11)
Вставляет новый элемент в контейнере с помощью key в качестве ключа и конструктором по умолчанию отображенные значения и возвращает ссылку на вновь построенные отображаются значения. Если элемент с ключом key уже существует, вставка не выполняется, и ссылка на ее значение отображается возвращается.
Оригинал:
Inserts a new element to the container using key as the key and default constructed mapped value and returns a reference to the newly constructed mapped value. If an element with key key already exists, no insertion is performed and a reference to its mapped value is returned.
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

1)

По сути выполняет (insert(std::make_pair(key, T())).first)->second.
Оригинал:
Essentially performs (insert(std::make_pair(key, T())).first)->second.
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

2)

По сути выполняет (insert(std::make_pair(std::move(key), T())).first)->second.
Оригинал:
Essentially performs (insert(std::make_pair(std::move(key), T())).first)->second.
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

Итераторы и указатели остаются в рабочем состоянии.

Параметры

key
Ключ элемента найти
Оригинал:
the key of the element to find
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

Возвращаемое значение

Ссылка на отображенное значение нового элемента, если нет элемента с ключом key существовало. В противном случае ссылка на отображенное значение существующего элемента возвращается.
Оригинал:
Reference to the mapped value of the new element if no element with key key existed. Otherwise a reference to the mapped value of the existing element is returned.
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

Сложность

Logarithmic in the size of the container.

Пример

См. также

предоставляет доступ к указанному элементу с проверкой границ
(public функция-элемент) [править]

Пример

#include <iostream>
#include <map>

int main()
{
    std::map<std::string, int> m;

    for (auto i{0}; i != 10; ++i) {
        m["пёс"]++;
    }
    for (auto i{0}; i != 5; ++i) {
        m["кот"]++;
    }

    std::cout << "Число псов: " << m["пёс"] << ", число котов: " << m["кот"] << '\n';
}

Вывод:

Число псов: 10, число котов: 5