Получить доступ к элементу в наборе?

С вектором я могу сделать следующее:

vector<int> myvec (4,100);
int first = myvec.at(0);

У меня есть следующий набор:

set<int> myset;
myset.insert(100);
int setint = ????

Как я могу получить доступ к элементу, который я вставил в набор?

15
задан intcreator 28 July 2015 в 19:54
поделиться

2 ответа

set<int>::iterator iter = myset.find(100);
if (iter != myset.end())
{
    int setint = *iter;
}
14
ответ дан 1 December 2019 в 02:29
поделиться

Вы не можете получить доступ к элементам набора по индексу. Вы должны получить доступ к элементам с помощью итератора.

set<int> myset;
myset.insert(100);
int setint = *myset.begin();

Если элемент, который вам нужен, не является первым, переместите итератор к этому элементу. Вы можете посмотреть в наборе, чтобы увидеть, существует ли элемент, используя set <> :: find () , или вы можете перебрать набор, чтобы увидеть, какие элементы там есть.

12
ответ дан 1 December 2019 в 02:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: