如何在C++中使用"goto"

How do I use "goto" in C++

本文关键字:goto C++      更新时间:2023-10-16

当我在c 中使用goto时,我面对了该消息,ı如何在C 类中使用goto?

In member function `void note_system::student_no()':
  label 'stop' used but not defined`

您会做这样的事情(要有单个范围退出点,说出出于某种异国原因使用基于RAII的技巧是不可能的):

status_code func_with_goto() {
    if (i_see_errors()) goto func_end;
    ...
    func_end:
        return status_code::error;
}

或喜欢这样(模拟类似标签的行为):

outer: while (...) {
    inner: while (...) {
        ...
        goto outer;
    }
}

,或者如果您只想从C++中的80-the重新完成第二个Basic程序:

x10: std::cout << "Hello World!" << std::endl;
x20: goto x10;

很少有goto可以证明合理的情况。它的存在使人类和编译器都复杂化静态代码分析。这并不意味着应该禁止使用goto,只应与双重护理一起使用。