范围for循环用来遍历数组、容器等元素,并且不需要手动管理循环索引。
基本语法是:for (type var : array) { // 循环体 },
其中type是数组或集合中元素的数据类型,var是用来表示
当前元素的变量名,array是需要遍历的数组或集合。
#include<iostream>
using namespace std;
int main(){
double array[]={2.4,2.2,8.9,5.6,4.3,26.7};
for(double &n:array){
cout<<n*3<<endl;
}
return 0;
}
在这段代码中,for 循环使用了范围-based for 循环,其中的```double &n```部分使用了引用符号&。在C++中,当想要对数组的每个元素进行修改时,使用引用(&)可以减少内存消耗和提高性能,因为引用直接指向数组元素的内存地址,而不是拷贝数组元素的值。
通过将```double &n```声明为引用,可以直接修改数组元素的值,而不是通过拷贝一份副本进行操作。这样操作可以直接影响原始数组。因此,在这段代码中,通过使用取地址符号&,可以避免不必要的内存开销和操作,使代码更加高效。
除了遍历对象是数组和容器以外,还可以是一对花括号括起来的初始值列表。
#include<bits/stdc++.h>
using namespace std;
using gg=long long;
int main(){
gg sum=0;
for(auto i:{1,2,3,4,5}){
sum+=i;
}
cout<<sum;
return 0;
}
以上实现了1~5的数字之和。
#include<bits/stdc++.h>
using namespace std;
using gg=long long;
int main(){
string s;
cin>>s;
for(char& c:s){
if(islower(c)){
c=toupper(c);
}
else{
c=tolower(c);
}
}
cout<<s;
return 0;
}
以上代码实现了字符串中大小写字母的转换。