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

问题描述 投票:-2回答:1

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

set<set<set<int>>::iterator> s;
set<set<int>> s1;
set<int> s2;
s2.insert(2);
s1.insert(s2);
s.insert(s1.begin());
c++ stl iterator set c++-standard-library
1个回答
0
投票

将事物放入集合中有什么要求?

您需要它可以(广泛地)复制,并且您需要一个比较函数,该函数强制执行严格的弱排序。 (默认值为<)。由于set::iterator不提供这种运算符,因此您必须自己编写一个。

高效地这样做可能是一个挑战。

© www.soinside.com 2019 - 2024. All rights reserved.