迭代器到类 LoopInfoBase<BasicBlock, Loop>?



我阅读了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/

最新更新