STL Algorithms : replace_copy、replace_copy_if

这是学习C++编程思想第六章(通用算法)后,写的一个算法的实现,很简单,为了以后回忆这块时快速上手,就放上一段小的代码:

#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;

bool myfn(char c) { return c=='3';}//判断字符是否为‘3’

int main()
{
	char a[]={'4','1','3','6','7','2','5','0'};
	vector<char> first(8),second(8);

	replace_copy(a,a+sizeof(a)/sizeof(char),first.begin(),'3','@');//注意不要漏写/sizeof(char)
	for (vector<char>::iterator cp1=first.begin();cp1!=first.end();++cp1)
		cout<<" "<<*cp1;

	cout<<endl<<endl;

	replace_copy_if(a,a+sizeof(a)/sizeof(char),second.begin(),myfn,'@');//将字符‘3’替换为‘@’
	for (vector<char>::iterator cp2=second.begin();cp2!=second.end();++cp2)
		cout<<" "<<*cp2;
	cout<<endl;
	return 0;
}


你可能感兴趣的:(STL Algorithms : replace_copy、replace_copy_if)