在 c++ 中定义一组 set 的迭代器

Define a set of iterators of set in c++

本文关键字:一组 set 迭代器 c++ 定义      更新时间:2023-10-16

我正在尝试定义一个集合,其中元素是另一个集合的迭代器。详细地说,我已经定义了以下集合,但是当我想将元素插入到集合中时,c ++不允许。如何构造一组迭代器?

set<set<set<int>>::iterator> s;
set<set<int>> s1;
set<int> s2;
s2.insert(2);
s1.insert(s2);
s.insert(s1.begin());

将某些东西放入集合中有什么要求?

你需要它是可复制的(广义上(,并且你需要一个比较函数来强加严格的弱排序。(默认值为<(。 由于set::iterator没有提供这样的运算符,因此您必须自己编写一个运算符。

有效地做到这一点可能被证明是一个挑战。