• C++ namespace


    // namespace.cpp : 定义控制台应用程序的入口点。
    //
    
    #include "stdafx.h"
    
    #include <iostream>
    #include <cstdlib>
    
    
    namespace MyLib {
    	double readAndProcessSum (std::istream&);
    }
    
    
    int _tmain(int argc, _TCHAR* argv[])
    {
    	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)
    	{
    		using std::ios;
    		double value, sum;
    
    		// save current state of exception flags
    		ios::iostate oldExceptions = strm.exceptions();
    
    		/* let failbit and badbit throw exceptions
    		* - NOTE: failbit is also set at end-of-file
    		*/
    		strm.exceptions (ios::failbit | ios::badbit);
    
    		try {
    			/* while stream is OK
    			* - read value and add it to sum
    			*/
    			sum = 0;
    			while (strm >> value) {
    				sum += value;
    			}
    		}
    		catch (...) {
    			/* if exception not caused by end-of-file
    			* - restore old state of exception flags
    			* - rethrow exception
    			*/
    			if (!strm.eof()) {
    				strm.exceptions(oldExceptions);  // restore exception flags
    				throw;                           // rethrow
    			}
    		}
    
    		// restore old state of exception flags
    		strm.exceptions (oldExceptions);
    
    		// return sum
    		return sum;
    	}
    }
    
  • 相关阅读:
    hadoop环境搭建之分布式的建立3
    hadoop环境搭建之分布式的建立2
    hadoop环境搭建之分布式的建立1
    安装Centos虚拟机
    VMWare安装虚拟机
    VMware虚拟机的下载及安装
    启用并登陆Administrator账户后显示“无法登陆到你的账户”
    Windows PowerShell打不开,无法重装.net framework
    中国软件杯赛题分析
    每周总结(10)
  • 原文地址:https://www.cnblogs.com/chunyou128/p/4354635.html
Copyright © 2020-2023  润新知