Stack Overflow на русском Asked on December 14, 2021
Есть контейнер map<string,vector<string>> Map
.
Требуется найти определённое слово в векторе и вывести его ключ. Отсюда вопрос: как обратиться к вектору, который находится внутри map?
Вопрос не понятно оформлен, но, насколько я понял, вы хотите в векторе искать строку являющийся ключом? Тогда, например, так:
for (auto& p : Map)
for (const auto& str : p.second) {
if (p.first == str)
std::cout << p.first;
}
Answered by AR Hovsepyan on December 14, 2021
Пример, как можно работать с такой картой: обращаться к элементу и искать определённый элемент в каком-то векторе.
#include <map>
#include <vector>
#include <string>
#include <algorithm>
#include <iostream>
int main() {
const std::map<std::string, std::vector<std::string>> Map = {
{"0", {"hello", "world",}},
{"1", {"world", "hello",}},
};
const auto& first_vector = Map.at("0");
const auto& first_word_in_first_vector = first_vector[0];
const auto word_pos = std::find(std::cbegin(first_vector), std::cend(first_vector), "world");
std::cout << "access: " << first_word_in_first_vector << 'n'
<< "found_word: " << *word_pos << 'n';
}
Доки:
Answered by dIm0n on December 14, 2021
Get help from others!
Recent Questions
Recent Answers
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP