zoukankan      html  css  js  c++  java
  • 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;
    	}
    }
    
  • 相关阅读:
    爬虫开头
    JAVA练习笔记---copyfile
    String
    十进制转化为八进制--栈实现
    一、给计算机专业的同学,计算机鸡汤
    数值的整数次方
    剪绳子-动态规划-贪婪
    二进制中为1 的数字个数
    机器人运动范围——回溯法应用
    矩阵的路径
  • 原文地址:https://www.cnblogs.com/chunyou128/p/4354635.html
Copyright © 2011-2022 走看看