遍历容器执行某一算法的快捷用法
#include <iostream>
#include <thread>
#include <algorithm>
#include <functional>
#include <numeric>
#include <vector>
using namespace std;
int myPlus(int a,int b)
{
return a + b ;
}
void print(int a)
{
cout << a << endl;
}
int ToLower(int c)
{
if (isupper(c)) ///c语言基础库函数
{
return c + 32;
}
else
return c;
}
int main()
{
vector<int> vec = { 1,2,3,4,5,6,7,8 };
vector<int> vec1 = { 10,20,30,40,50,60,70,80 };
int arr[8];
transform(vec.begin(), vec.end(), vec1.begin(), arr, std::plus<int>());
vector<int> vec_result(8);//指定vector的长度,默认初始值0
transform(vec.begin(), vec.end(),vec1.begin(),vec_result.begin(), myPlus);
std::for_each(vec_result.begin(), vec_result.end(), print); //没有返回值的容器遍历算法
string str("aaBBccDD");
string result_str;
result_str.resize(str.size());
transform(str.begin(), str.end(), result_str.begin(), ToLower);//有返回值的容器遍历算法
system("pause");
return 0;
}