Как я могу издеваться над запросами и ответом?

Примечание для новых читателей. Первоначальный вопрос касался контейнеров STL (не конкретно о std :: map)

. Следует отметить, что на большинстве контейнеров есть версия const оператора []. Это просто, что std :: map и std :: set не имеют версии const, и это результат структуры, которая их реализует.

Из std :: vector

reference       operator[](size_type n) 
const_reference operator[](size_type n) const 

Также для вашего второго примера вы должны проверить, не найден ли элемент.

void MyClass::MyFunction( int x ) const
{
    MyMap iter = m_map.find(x);
    if (iter != m_map.end())
    {
        std::cout << iter->second << std::endl
    }
}
157
задан Martin Thoma 15 May 2018 в 13:36
поделиться