|
|
1
87
这是我听说过的一个技巧。但我从未在野外见过它。它只适用于C,因为C++有更多的习惯用法。
|
|
2
85
在C语言中goto的典型需求如下
没有goto就没有直接的方法可以突破嵌套循环。 |
|
3
32
这是我的一个很好的例子(来自StevensApitue),用于UNIX系统调用,可能会被一个信号中断。
另一种选择是退化循环。这个版本读起来像英语“如果系统调用被信号中断,重新启动它”。 |
|
4
14
如果达夫的设备不需要Goto,那么你也不需要!;)
维基百科上面的代码 entry . |
|
|
6
12
非常普遍。
我唯一用过的箱子
|
|
7
12
一般来说,我并不反对哥特人,但我可以考虑几个原因,为什么你不想把它们用于你提到的循环:
|
|
|
8
7
使用goto的一个好地方是在一个可以在多个点中止的过程中,每个点都需要不同级别的清理。gotopobes总是可以用结构化代码和一系列测试来替换goto,但我认为这更简单,因为它消除了过度的缩进: if (!openDataFile()) goto quit; if (!getDataFromFile()) goto closeFileAndQuit; if (!allocateSomeResources) goto freeResourcesAndQuit; // Do more work here.... freeResourcesAndQuit: // free resources closeFileAndQuit: // close file quit: // quit! |
|
9
7
@fizzer.myopenid.com:您发布的代码片段相当于以下内容:
我当然喜欢这种形式。 |
|
|
10
6
尽管随着时间的推移,我越来越讨厌这种模式,但它是以细粒度的方式嵌入到COM编程中的。
|
|
|
11
5
下面是一个很好的goto示例:
|
|
|
12
1
我已经看到goto使用正确,但情况很正常,很难看。只有在使用
我喜欢这样的环,但有些人喜欢
|
|
13
0
我对此感到不满的是,您会丢失块范围;如果循环中断,在goto之间声明的任何局部变量都将保持有效。(也许你假设这个循环永远运行;但我不认为这就是最初的问题编写者所问的。) 范围的问题是C++的一个问题,因为一些对象可能取决于它们的Dor在适当的时候被调用。 对我来说,使用goto的最佳原因是在一个多步骤初始化过程中,如果一个初始化过程失败,那么所有init都将退出,这一点非常重要。
|
|
|
14
0
我自己不使用Goto,但是我曾经和一个人合作过,在特定的情况下会使用Goto。如果我没记错的话,他的理论基础是关于绩效问题的——他还对 怎样 . 总是在同一个函数中,并且标签总是在goto语句下面。 |
|
|
15
0
|
|
|
16
-1
@格雷戈: 为什么不这样做呢:
|
|
AstralHex · 矩阵乘法代码工作不正常 9 月前 |
|
|
Fishie · 作为类成员的智能指针是否仍然自动释放?[关闭] 9 月前 |
|
|
Die4Toast · 递归调用成员箭头运算符-> 9 月前 |
|
|
Anka Hanım · 关于结构和动态数组地址的问题 10 月前 |