我想创建两个包含彼此迭代器的容器。我希望在不引入任何中间/间接类型的情况下做到这一点。这可能还是迭代器类型取决于知道容器数据类型的大小?
这是我想要编译的一些示例代码:
#include <map>
#include <deque>
#include <string>
class mapvalue_t
{
public:
std::deque< std::map<std::string,mapvalue_t>::iterator >::iterator i;
};
typedef std::map<std::string,mapvalue_t> maptype_t;
typedef std::deque< maptype_t::iterator > queuetype_t;
int main(void)
{
maptype_t m;
queuetype_t q;
}
没关系,它现在编译。我在那里有一个队列,而不是我想要的双端队列:)