, ++. .
++ .
, ++.
- -.
algrithm , .
ArrayBuffer::foreach == std::for_each
ArrayBuffer::map == std::transform - , . ++, Java # . /, . . , ( - ).
++. , # . , #. Java , -, .
struct Print
{
template<typename T>
void operator()( const T& t )
{ std::cout << t << std::endl; }
};
struct Squared
{
template<typename T>
T operator()( const T& t )
{ return t*t; }
};
int main()
{
std::vector<int> vi;
std::foreach( vi.begin(), vi.end(), Print());
std::foreach( vi.begin(), vi.end(), [](int i){ std::cout<<i<<std::endl; } );
std::vector<int> vi_squared;
std::transform( vi.begin(), vi.end(), std::back_inserter(vi_squared), Squared() );
vi_squared.resize( vi.size() );
std::transform( vi.begin(), vi.end(), vi_squared.begin(), Squared() );
}