//代码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;
}
#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;
}
#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_<<" ";
}
};
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;
}
#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泛型算法就是基于迭代器和函数对象技术的,迭代器控制作用范围,函数对象作为谓词对元素进行操作
经典经典..........一切都是基本的东西......