binder1.cpp

来自「Think in C++ 第二版源码」· C++ 代码 · 共 33 行

CPP
33
字号
//: C21:Binder1.cpp

// From Thinking in C++, 2nd Edition

// Available at http://www.BruceEckel.com

// (c) Bruce Eckel 1999

// Copyright notice in Copyright.txt

// Using STL "binders"

#include "Generators.h"

#include "copy_if.h"

#include <algorithm>

#include <vector>

#include <iostream>

#include <functional>

using namespace std;



int main() {

  const int sz = 10;

  const int max = 40;

  vector<int> a(sz), r;

  URandGen urg(max);

  ostream_iterator<int> out(cout, " ");

  generate_n(a.begin(), sz, urg);

  copy(a.begin(), a.end(), out);

  int* d = find_if(a.begin(), a.end(), 

    bind2nd(less<int>(), 20));

  cout << "\n *d = " << *d << endl;

  // copy_if() is not in the Standard C++ library

  // but is defined later in the chapter:

  copy_if(a.begin(), a.end(), back_inserter(r),

    bind2nd(less<int>(), 20));

  copy(r.begin(), r.end(), out);

  cout << endl;

} ///:~

⌨️ 快捷键说明

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