---恢复内容开始---
1.使用Lambda表达式计算“hello world!”中字母e和i的数量
下面是代码:
1 #include "stdafx.h" 2 #include<algorithm> 3 #include"iostream" 4 using namespace std; 5 6 7 8 int main(int argc, _TCHAR* argv[]) 9 { 10 char s[100]="hello world!"; 11 int E=0; 12 int L=0; 13 for_each(s,s+strlen(s),[&](char c) 14 { 15 if (c=='e' || c=='E') 16 E++; 17 if (c=='l' || c=='L') 18 L++; 19 }); 20 cout<<E<<endl; 21 cout<<L<<endl; 22 system("pause"); 23 return 0; 24 }
下面是运行结果:
2.使用智能指针进行字符串“hello world”的右移位。
1 #include "stdafx.h" 2 #include<algorithm> 3 #include"iostream" 4 #include<memory> 5 using namespace std; 6 7 8 9 int main(int argc, _TCHAR* argv[]) 10 { 11 12 char s[100]="hello world!"; 13 int len=strlen(s); 14 int i=0; 15 int n=0; 16 cin>>n; 17 unique_ptr<char[]> ts(new char[len + 1]); 18 while(i<len) 19 { 20 ts[(i+n)%len]=s[i]; 21 i++; 22 } 23 ts[len]='\0'; 24 printf("%s",ts); 25 system("pause"); 26 return 0; 27 }
运行结果: