C++ 关闭函数时返回还是中断?

C++ 关闭函数时返回还是中断?,c++,for-loop,C++,For Loop,假设我有一个单-for循环函数;如果没有与机械相关的首选项,最好选择返回或中断?或者他们会完全一样 void function() { for (int i; i<foo; i++) { if (something) // return? break? } // nothing else after this } void函数() { for(int i;i使用break将退出循环,而return将实际完成该方法。因此

假设我有一个单-
for循环
函数;如果没有与机械相关的首选项,最好选择
返回
中断
?或者他们会完全一样

void function()
{
  for (int i; i<foo; i++)
     {
         if (something)
            // return? break?
     }
  // nothing else after this
}
void函数()
{

for(int i;i使用break将退出循环,而return将实际完成该方法。因此,如果您的目标是简单地停止循环,您可以使用break。但是,如果您希望该方法结束,请使用return。有关return vs break的特殊情况的其他注释,请参阅本文:

********编辑********
在这种情况下,它们的工作原理完全相同,除非函数中的for循环下有更多的代码。如果是这种情况,请使用break来点击该代码。

就生成的代码而言,您可以期望它们在这种情况下完全相同

但是,return的含义与break不同。return表示退出函数,而break只是退出循环。现在的结果可能是相同的,但当算法更改或需要进行某些后处理时,结果可能会发生变化,例如


在这种情况下,如果没有实际的代码,就不可能说什么更合适,甚至可能取决于意见。

在这种情况下,我更喜欢使用
中断
有一天,您可能不得不在循环之后添加另一段代码
return
可能是一个等待发生的错误,特别是在早期循环退出被禁用的情况下
对于一个罕见且难以测试的条件。

它们传达了不同的语义。什么,更具体地说?一个品味问题:我做结果=x-返回-转到-中断-嗯,不管什么都合适。实际上没有人,也只有建议。是的。我想我现在会坚持中断,如果我对函数做更多的事情,我可能会改变事情。那nks!是的,重点是他们在这种情况下做同样的事情。我猜他们做完全一样的事情here@Banderi热衷于函数中的单返回点的人会告诉你不管怎样都要使用
break
那就是稍后阅读此代码。是的,我想说,在这种情况下,中断可能意味着其他代码即将出现。如果循环下面没有其他代码,我会使用return。是的,这是一个更一般的问题。因为结束其中一个对我来说很好,它们也会结束彼此,我想它们是相同的交易。@Banderi我试过了(显然没有)在我的回答中指出它们不是同一笔交易,即使在这种情况下,也有细微的区别。好吧,我唯一需要做的就是结束函数,所以在这种情况下,它们的区别似乎是偏好,或者我以后必须对函数做些什么..我想?我知道它们是什么“实际上”的意思是,虽然那也是真的……我真的没想到。