Member 11807654 Ответов: 1

Как найти значение в списке кортежей в C++?


У меня есть список кортежей, написанных на c++. каждый кортеж состоит из двух элементов. Я хочу найти значение во втором элементе кортежей в списке. как я могу его найти?
список выглядит следующим образом:
list<std::tuple<int, int> > d;

я хочу, чтобы он нашел, например, число " 2 " В D.item[2].

Что я уже пробовал:

я нашел несколько ссылок о поиске значения в списке кортежей . но эти кортежи состояли только из одного элемента. но в моем случае в каждом кортеже есть два элемента.

Richard MacCutchan

Вам нужно пройти по списку в поисках значения, которое вы хотите найти.

Maciej Los

я нашел несколько ссылок о - используй эту логику!

Philippe Mori

Если вы хотите сделать такой поиск, то ваш дизайн несколько подозрителен. Использование карты, где ключ был бы вторым элементом вашей пары, а значение-первым, было бы более разумным. Если вы действительно хотите найти такой элемент, то вы можете указать предикат при выполнении поиска. В любом случае, чтение документации может быть хорошей идеей.

1 Ответов

Рейтинг:
11

Maciej Los

Проверьте документацию: std:: кортеж - cppreference.com[^]

Если я вас хорошо понимаю...
Все, что вам нужно сделать, это перебрать элементы на экране. список[^], то использовать std::get() функция.

Подумай об этом!

Совет:
d(0) - возвращает первый элемент в списке
std::get<1>(d(0)) - возвращает второй элемент кортежа первого элемента в списке


Member 11807654

спасибо

Maciej Los

Всегда пожалуйста