【发布时间】:2019-05-26 19:43:21
【问题描述】:
在 Clang API 中,有一个 GotoStmt 和一个 IndirectGotoStmt。关于这两种 goto 语句之间的区别的解释很少。我知道goto label; 声明是什么。但什么是间接 goto 语句?我想知道在 C/C++ 代码的上下文中是什么,而不仅仅是 Clang。 间接 goto 语句在语法上意味着什么?能否提供代码示例?
编辑:以下问题很有趣。
【问题讨论】:
-
您在询问实施细节。就 C++ 而言,这些都无关紧要。
-
我的猜测是,这是指向变量中包含的位置的 goto 语句,它是 gcc 扩展,clang 旨在与 gcc 兼容。
-
或许类似于switch case语句?但是 Clang API 已经为该 [
SwitchCase][3] 提供了一个特定的类。 [3]:http://clang.llvm.org/doxygen/classclang_1_1SwitchCase.html -
@Galaxy 请添加链接问题的有趣之处。这和你的问题有关系吗?
-
@JL2210 该链接问题是相关问题。在那个问题中,我们还可以找到有关 GCC 的标签扩展地址以及如何使用它的信息。阅读我的问题的人也希望阅读该问题,以详细了解有关此编码结构的更多信息。链接的问题往往以某种方式相关。在这里,我们看到了清晰的关系,因为这两个问题都是关于同一个编码结构。
标签: c++ c llvm-clang goto