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

 

posted on 2013-11-25 00:07  wwtbuaa  阅读(126)  评论(0编辑  收藏  举报