function_object.cpp

来自「C++ sample code, for the book: C++ blac」· C++ 代码 · 共 34 行

CPP
34
字号
#include <vector>
#include <algorithm>
#include <iostream>
using namespace std;

template<class T>
class square 
{
public:
   T operator() (const T& value)
   {
      return value * value;
   }
};

const int NUMBER_ELEMENTS = 8;

int main ()
{
   int initial_values[NUMBER_ELEMENTS] = {1, 2, 3, 4, 5, 6, 7, 8};
   vector<int> start(NUMBER_ELEMENTS);
   start.assign(initial_values, initial_values + NUMBER_ELEMENTS);
   vector<int> result(NUMBER_ELEMENTS);

   transform(start.begin(), start.end(), result.begin(), square<int>());

   cout << "Here are the squared values:" << endl;

   copy(result.begin(), result.end(), ostream_iterator<int, char>(cout," "));
   cout << endl;

   return 0;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?