zoukankan      html  css  js  c++  java
  • C++ 从文件中读取数据的代码及优化

     1 #include <fstream>
     2 ifstream inFile;    //ifstream类的inFile对象
     3 
     4 double value;
     5 inFile >> value;
     6 while(inFile.good())
     7 {
     8     //loop body goes here   
    9   inFile >> value; 10 }

    这是原始版本代码,方法good()指出最后一次读取输入的操作是否成功,这一点至关重要. 这意味着应该在执行读取输入的操作后,立刻应用这种测试。为此,一种标准方法是,在循环之前(首次执行循环测试前)放置一条输入语句,并在循环的末尾(下次执行循环测试之前)放置另一条输入语句。

    鉴于以下事实,可以对上述代码进行精简:表达式 inFile >> value 的结果为inFile,而在需要一个bool结果值的情况下,inFile的结果又可以为inFile.good(),即true 或者 false。

    因此有了下面的精简后的代码:

    1 #include <fstream>
    2 ifstream inFile;    //ifstream类的inFile对象
    3  
    4 double value;
    5 while(inFile >> value)
    6 {
    7     //loop body goes here   
    8 } 

    这种设计仍然遵循了在测试之前进行读取的规则,因为要计算表达式inFile >> value的值,程序必须首先试图将一个数字读取到value中。

  • 相关阅读:
    2015多校1006.First One
    2015多校.MZL's endless loop(欧拉回路的机智应用 || 构造)
    LUXURY 8
    矩阵快速幂模板
    博弈入门
    cf558c(bfs)
    LUXURY 7
    dfs序 + RMQ = LCA
    双端队列
    UVa-401 Palindromes
  • 原文地址:https://www.cnblogs.com/hangaozu/p/8384204.html
Copyright © 2011-2022 走看看