使用 break
break
用于跳出当前所在的循环语句。这个详细的图片指南旨在强调 break
的行为,而不是展示好的编码实践。内部的 for 循环本身已经足够了,但正如我所说,这是为了视觉效果:
备选建议
使用现代C++中的各种搜索算法,这些算法可以在<algorithm>
中找到,用于搜索容器和在某种程度上搜索字符串。这样做的原因有两个:
- 代码更短,更易读
- 通常与您自己编写的任何内容一样快,甚至更快
这些代码示例将需要相同的样板文件,除了旧的for循环搜索需要使用<algorithm>
:
#include <vector>
#include <algorithm>
std::vector<int> int_container = { 10, 23, 10345, 432, 2356, 999, 1234, 0x45f };
bool has1234 = false;
现代的方式可能是这样的,我们快速地搜索容器,
如果搜索迭代器没有到达容器的末尾(不是最后一个元素),
我们就知道它正在查找的值已经被定位了。
这段代码用更少的行数和更少的潜在故障点实现了相同的结果,与下面的旧方法相比,用户编写的代码也更加简洁。
现代 C++ 风格
auto search_position = std::find( int_container.begin(), int_container.end(), 1234 )
if ( search_position != int_container.end() )
has1234 = true
C++11 基于范围的 for 循环
for ( auto i : int_container )
{
if ( i == 1234 )
{
has1234 = true;
break;
}
}
传统的 C 风格 for 循环:
for ( int i = 0; i < int_container.size(); i++ )
{
if ( int_container[i] == 1234 )
{
has1234 = true;
break;
}
}
for
循环。 - Seth Carnegiebreak
总是跳出当前代码中最内层的结构(循环或switch
),在这种情况下是for (j ...
循环。 - Jerry CoffinfuncEvals[i]<bestListEval[j]
为true
,则break
语句将始终发生。你真的应该使用一些更好的变量名。 - Security Hound