sum2.cpp

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

CPP
67
字号
/* 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 <iostream>#include <cstdlib>namespace MyLib {    double readAndProcessSum (std::istream&);}int main(){    using namespace std;    double sum;    try {        sum = MyLib::readAndProcessSum(cin);    }    catch (const ios::failure& error) {        cerr << "I/O exception: " << error.what() << endl;        return EXIT_FAILURE;    }    catch (const exception& error) {        cerr << "standard exception: " << error.what() << endl;        return EXIT_FAILURE;    }    catch (...) {        cerr << "unknown exception" << endl;        return EXIT_FAILURE;    }    // print sum    cout << "sum: " << sum << endl;}#include <istream>namespace MyLib {    double readAndProcessSum (std::istream& strm)    {        double value, sum;            /* while stream is OK         * - read value and add it to sum         */        sum = 0;        while (strm >> value) {            sum += value;        }            if (!strm.eof()) {            throw std::ios::failure                    ("input error in readAndProcessSum()");        }            // return sum        return sum;    }}

⌨️ 快捷键说明

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