我阅读了LoopInfoBase(BlockT, LoopT)
上的llvm页面,了解到它包含了所有顶级循环的信息。它还在类模板中定义了迭代器(以及反向迭代器等(。
我不太明白迭代器在迭代什么?例如,在vector<int>
中,迭代器i
将在容器向量上迭代,而*i
是int,在Map<string, int>
中,迭代器i
将在映射上迭代,*i
将是一对类型<string, int>
。然而,这里有一个类模板,所以假设i
是这样一个类的迭代器,那么*i
代表什么(或者它的类型是什么(?
在您提到的文件中,迭代器的类型是
typedef std::vector<LoopT *>::const_iterator llvm::LoopInfoBase< BlockT, LoopT >::iterator
因此,我们看到它是LoopT指针向量的const_iterator(const值的迭代器(。
我有点好奇你为什么要深入LLVM文档。如果你正在尝试学习C++,我不会建议你尝试通过LLVM编译器文档学习,这似乎是一种过于困难的学习语言的方法。尝试以下教程http://www.cplusplus.com/doc/