如何使用 'llvm::ilist_iterator<NodeTy>::operator pointer() const' 方法?

How is the `llvm::ilist_iterator<NodeTy>::operator pointer() const` method utilized?

本文关键字:operator pointer 方法 gt const iterator llvm 何使用 ilist lt NodeTy      更新时间:2023-10-16

我发现这个方法的实现只是简单地返回存储在ilist_iterator类中的指针(http://llvm.org/docs/doxygen/html/ilist_8h_source.html#l00195)。然而,我不清楚这个运算符是如何使用的。

我假设有了这个运算符,我们可以做以下操作。 ... ilist_iterator<NodeType> it = ...; NodeType const *node = it; // rather than &(*it)? ... 我的假设正确吗?

这正是它的作用。它还允许将it作为参数传递给采用NodeType*参数的函数。(感觉这对我来说可能有点危险,但我想不出具体的情况会有什么问题。)