homework-09
不得不说真是没有意义的一次作业,lambda在C++里用的真是物超所值啊,智能指针用于实现这么大的功能也一点都不大材小用。
智能指针的代码和运行结果
#include<iostream>
#include<cstring>
#include<string>
#include<memory>
using namespace std;
int result(int n)
{
shared_ptr<char> s(new char[13]);
strcpy(s.get(),"Hello World!");
string s1(s.get()+12-n);
*(s.get()+12-n)='\0';
string s2(s.get());
cout<<s1<<s2<<endl;
return 0;
}
int main()
{
for(int i=0;i<13;i++){
result(i);
}
return 0;
}

lambda演算程序与运行结果
#include<iostream>
#include<cstring>
#include<string>
#include<memory>
#include<algorithm>
using namespace std;
int main()
{
string s("Hello World!");
string::iterator i;
int a=0,b=0;
for_each(s.begin(),s.end(),[&a,&b](char c){
a+=c=='l'?1:0;
b+=c=='e'?1:0;
});
cout<<a<<endl;
cout<<b<<endl;
return 0;
}

浙公网安备 33010602011771号