//: C05:PtrFun1.cpp // From Thinking in C++, 2nd Edition // Available at http://www.BruceEckel.com // (c) Bruce Eckel 2000 // Copyright notice in Copyright.txt // Using ptr_fun() for single-argument functions #include #include #include #include using namespace std; char* n[] = { "01.23", "91.370", "56.661", "023.230", "19.959", "1.0", "3.14159" }; const int nsz = sizeof n / sizeof *n; template void print(InputIter first, InputIter last) { while(first != last) cout << *first++ << "\t"; cout << endl; } int main() { print(n, n + nsz); vector vd; transform(n, n + nsz, back_inserter(vd), atof); print(vd.begin(), vd.end()); transform(n,n + nsz,vd.begin(), ptr_fun(atof)); print(vd.begin(), vd.end()); } ///:~