在做了一些关于如何突破二级循环的研究之后 while (true) { // Main Loop for (int I = 0; I < 15; I++) { // Secondary loop // Do Something break; // Break main loop? } } 大多数人build议调用“goto”function 看下面的例子: while (true) { // Main Loop for (int I = 0; I < 15; I++) { // Secondary Loop // Do Something goto […]
我看到一个C程序,其代码如下: static void *arr[1] = {&& varOne,&& varTwo,&& varThree}; varOne: printf("One") ; varTwo: printf("Two") ; varThree: printf("Three") ; 我对“ &&操作感到困惑,因为左边没有任何内容。 它默认评估为空吗? 或者这是一个特例? 编辑:添加一些更多的信息,使问题/代码更清晰的我的问题。 谢谢大家的帮助。 这是gcc特定扩展的一个例子。
这个问题其实是前段时间在programming.reddit.com上有趣的讨论的结果。 它基本上归结为以下代码: int foo(int bar) { int return_value = 0; if (!do_something( bar )) { goto error_1; } if (!init_stuff( bar )) { goto error_2; } if (!prepare_stuff( bar )) { goto error_3; } return_value = do_the_thing( bar ); error_3: cleanup_3(); error_2: cleanup_2(); error_1: cleanup_1(); return return_value; } goto这里的使用似乎是最好的方式,导致所有可能性的最干净和最有效的代码,或者至less在我看来。 引用史蒂夫McConnell在代码完成 : goto在分配资源,对这些资源执行操作,然后释放资源的例程中非常有用。 随着转到,你可以清理代码的一部分。 goto减less了您忘记在每个检测到错误的地方释放资源的可能性。 此方法的另一个支持来自本部分的“ […]
在Python中是否有goto或任何等价物可以跳转到特定的代码行?
我对此感到困惑。 我们中的大多数人都被告知Java中没有任何goto语句。 但是我发现它是Java中的关键字之一。 哪里可以使用? 如果它不能被使用,为什么它被包含在Java中作为关键字?