template <class InIter, class OutIter, class UnaryFn> OutIter transform( InIter qFirst, InIter qLast, OutIter qResult, UnaryFn qUnaryFn );
#include <algorithm>
template <class InIter1, class InIter2, class OutIter, class BinaryFn> OutIter transform( InIter1 qFirst1, InIter1 qLast1, InIter2 qFirst2, OutIter qResult, BinaryFn qBinaryFn );
#include <iostream> #include <vector> #include <algorithm> #include <cctype> char ToUpper(char cChar) { return (char)(toupper(cChar)); } int main() { using namespace std; // Create two vector instances vector<char> qV; qV.push_back('X'); qV.push_back('o'); qV.push_back('a'); qV.push_back('X'); qV.push_back('.'); qV.push_back('n'); qV.push_back('e'); qV.push_back('t'); vector<char> qT(10); // Transform the original vector transform(qV.begin(), qV.end(), qT.begin(), ToUpper); // Output the orignal vector and the transformed one cout << "Original: "; vector<char>::iterator qIter; for (qIter = qV.begin(); qIter != qV.end(); ++qIter) { cout << *qIter; } cout << endl; cout << "Tranformed: "; for (qIter = qT.begin(); qIter != qT.end(); ++qIter) { cout << *qIter; } cout << endl; // Keep the window open cin.get(); return 0; }
© 20072024 XoaX.net LLC. All rights reserved.