@m1kz

Как создать map словарь с динамическим типом значения?

Хочу сделать ввод разных типов данных с помощью ввода.
Например вводим в консоль:
id 12354 //ввод int id=12354
str Строковое значение //ввод string str = "Строковое значение"

Хотелось бы реализовать как-то через map, но там лишь 1 тип, а хотелось бы два.
Чтобы было что-то типа того:
int id;
string name;
map<string, (string,int)> dict;
dict["id"] = id;
dict["name"]=name;
string a;
cin>> a;
cin>>dict[a];
  • Вопрос задан
  • 53 просмотра
Пригласить эксперта
Ответы на вопрос 2
Adamos
@Adamos
Сделать класс-обертку с конструктором, принимающим как int, так и строку.
Например, хранящий внутри строку и преобразующий ее при необходимости в целое значение.
Ответ написан
Комментировать
@FoxOne
Если у вас >= c++17, то можно использовать std::variant<int, string>
Так не прокатит? во всяком случае
dict["id"] = id;
dict["name"]=name;

работать будет
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы