foreach3.cpp

来自「stl自带源码」· C++ 代码 · 共 48 行

CPP
48
字号
/* The following code example is taken from the book * "The C++ Standard Library - A Tutorial and Reference" * by Nicolai M. Josuttis, Addison-Wesley, 1999 * * (C) Copyright Nicolai M. Josuttis 1999. * Permission to copy, use, modify, sell and distribute this software * is granted provided this copyright notice appears in all copies. * This software is provided "as is" without express or implied * warranty, and with no claim as to its suitability for any purpose. */#include "algostuff.hpp"using namespace std;// function object to process the mean valueclass MeanValue {  private:    long num;    // number of elements    long sum;    // sum of all element values  public:    // constructor    MeanValue () : num(0), sum(0) {    }    // function call    // - process one more element of the sequence    void operator() (int elem) {        num++;          // increment count        sum += elem;    // add value    }    // return mean value (implicit type conversion)    operator double() {        return static_cast<double>(sum) / static_cast<double>(num);    }};int main(){    vector<int> coll;    INSERT_ELEMENTS(coll,1,8);    // process and print mean value    double mv = for_each (coll.begin(), coll.end(),  // range                          MeanValue());              // operation    cout << "mean value: " << mv << endl;}

⌨️ 快捷键说明

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