基于范围的for循环 : 对数组(或容器类,如vector和array)的每个元素执行相同的操作
double prices[5] = {4.99,10.99,6.87,7.99,8.49};
for(double x:prices)
cout << x<< std::endl;
x最初表示数组prices的第一个元素,显示第一个元素后,不断执行循环,而x依次表示数组的其他元素。总之,该循环显示数组中的每个值。
要修改数组的元素,需要使用不同的循环变量语法:
for(double &x : prices) //该&表示引用而不是取地址
x = x * 0.8;
for(int x : {3,5,2,8,6}) //初始化列表
cout << x<<" ";
时间延时函数
#include <iostream>
#include <ctime>
{
using namespace std;
clock_t delay = 5 * CLOCKS_PER_SEC; //计算5秒的系统时间单位数,CLOCKS_PER_SEC定义于ctime中。
clock_t start = clock(); //运行时的时间
while(clock()-start < delay )
; //延时5s
return 0;
}
常见字符输入法
1、 cin.get(ch);
while(cin.fail()==false) //每次读取一个字符,直到遇到EOF的输入循环
{
..
cin.get(ch);
}
2、 cin.get(ch)
while(cin) //如果最后一次读取成功了,则转换得到的bool值为true,否则为false。
{
cin.get(ch); //cin.get(char)返回值为cin
}
方法2比 !cin.fail()或!cin.eof()更通用,因为它可以检测到其他失败的原因,如磁盘故障。
3、 while((ch=cin.get())!=EOF) //cin.get()返回下一个输入字符--包括空格、换行符和制表符
4、getline(cin,line),返回cin :读取一行的内容(至换行符),并丢弃换行符。