◐ Shell
clean mode source ↗

std::map::operator[] — cppreference.com

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

<metanoindex/>

<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