Есть ли функция может изменить значение карты и вернуть итератор?C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Есть ли функция может изменить значение карты и вернуть итератор?

Сообщение Anonymous »

Я хочу вставить пару в карту (создать ее, если не существовало, изменить его иначе) и получить указатель значения, чтобы позволить другим использовать.
Вот демо -код:

Код: Выделить всё

#include 
using namespace std;
std::map a = {{1, 1}};
int* set_and_return_value() {
// option 1: a[1] = 2; return &(a[1]); i think it's ugly
const auto [it, ok] = a.emplace(1, 2);
return &(it->second);
// emplace is good, but it won't modify the existed key's value
}
Итак, есть ли функция, может вернуть итератор после реальной вставки пары?

Подробнее здесь: https://stackoverflow.com/questions/782 ... e-iterator
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»