//代碼1
代碼
#include <algorithm>
#include <vector>
#include <iostream>
class PrintInt
{
public:
void operator()(int v)
{
std::cout<<v<<" ";
}
};
int main()
{
std::vector<int> vec;
for (int i = 0; i < 10; ++i)
{
vec.push_back(i);
}
std::for_each(vec.begin(), vec.end(), PrintInt());
std::cin.get()
return 0;
}
代碼2
代碼
#include <algorithm>
#include <vector>
#include<iostream>
class PrintInt{
int base_;
public:
explicit PrintInt(int b) : base_(b){}
void operator()(int v)
{
std::cout<<v+base_<<" ";
}
};
int main()
{
std::vector<int> vec;
for (int i = 0; i < 10; ++i)
{
vec.push_back(i);
}
std::for_each(vec.begin(), vec.end(), PrintInt(10));
std::cin.get();
return 0;
}
代碼3
代碼
#include <vector>
#include<iostream>
class PrintInt{
int base_;
public:
explicit PrintInt(int b) : base_(b){}
void operator()(int v)
{
std::cout<<v+base_<<" ";
}
};
template<typename It, typename F>
void my_for_each(It beg, It end, F f)
{
for (; beg != end; ++beg)
{
f(*beg);
}
}
int main()
{
std::vector<int> vec;
for (int i = 0; i < 10; ++i)
{
vec.push_back(i);
}
my_for_each(vec.begin(), vec.end(), PrintInt(10));
std::cin.get();
return 0;
}
我認識的高手說:
C++STL泛型演算法就是基於迭代器和函數對象技術的,迭代器控製作用範圍,函數對象作為謂詞對元素進行操作
經典經典..........一切都是基本的東西......