transform()
template <class InIter, class OutIter, class Fun> OutIter transform(InIter start, InIter end, OutIter result, Func unaryfunc); template <class InIter1, class InIter2, class OutIter, class Func> OutIter transform(InIter1 start1, InIter1 end1, InIter2 start2, OutIter result, Func binaryfunc); transform() , result. start end. unaryfunc. . , , , . , . transform(), . , xform(), . , , . // transform(). #include <iostream> #include <list> #include <algorithm> using namespace std; // , int xform(int i) { return i*i; // } int main() { list<int> xl; int i; // . for(i=0; i<10; i++) xl.push_back(i); cout << " xl: "; list<int>::iterator p = xl.begin(); while(p != xl.end()){ cout << *p << " "; p++; } cout << endl; // xl. p = transform(xl.begin() , xl.end(), xl.begin(), xform); cout << " xl:"; p = xl.begin(); while(p!= xl.end()) { cout << *p << " "; p++; } return 0; } . xl: 0 1 2 3 4 5 6 7 8 9 xl: 0 1 4 9 16 25 36 49 64 81 , xl . |
Нет комментариев. Оставить комментарий: |