//1.普通人的for 5次
for (int i = 0; i < 5; i++)
{
Log("this is for ");
}
//2.B哥写法
int i = 0;
bool flag = true;
for (;flag;)
{
Log("this is for ");
i++;
if (!(i < 5))
flag = false;
}
std::cin.get();
我们可以对比一下这普通写法和B哥写法,第一种方法就不赘述了(1.for循环里首先执行的是i=0 2.然后执行{ }里的内容,之后3.自增“ ++ ”一下 ,最后才4.是判断),我们看看B哥写的,其实B哥就是用了for循环的特点,首先定义 i 以及一个 flag ,里面为空就默认true,也就是1阶段直接过到2阶段之后自增,在用I<5的条件来给falg定值,找这个法子来说那for(;;){}呢?大家可以试试。
int i = 0;
while (i < 5)
{
Log("this is for ");
i++;
}
std::cin.get();
while则更加简单,它就只有一个条件,()里的条件为true就执行{}里的内容。它和true的对比就是for循环可以确定循环次数的。比如我要处理一个数组,数组里有10个元素,那处理这个数组时我一般选用for,因为数组的索引也是从0开始的嘛。
int i = 0;
do{
Log("this is for ");
i++;
} while (i < 5);
std::cin.get();
do while也是一种循环,但是不常见,反正我自己用的少,它的特点就是不管怎么样都会先do一次也就是循环体肯定执行一次的。