С вектором я могу сделать следующее:
vector<int> myvec (4,100);
int first = myvec.at(0);
У меня есть следующий набор:
set<int> myset;
myset.insert(100);
int setint = ????
Как я могу получить доступ к элементу, который я вставил в набор?
set<int>::iterator iter = myset.find(100);
if (iter != myset.end())
{
int setint = *iter;
}
Вы не можете получить доступ к элементам набора по индексу. Вы должны получить доступ к элементам с помощью итератора.
set<int> myset;
myset.insert(100);
int setint = *myset.begin();
Если элемент, который вам нужен, не является первым, переместите итератор к этому элементу. Вы можете посмотреть в наборе, чтобы увидеть, существует ли элемент, используя set <> :: find ()
, или вы можете перебрать набор, чтобы увидеть, какие элементы там есть.