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; }