istream函数参数vs inline std :: cin

时间:2014-07-24 10:10:26

标签: c++ input stream

这两个功能有何不同?除了std :: cin之外是否有任何不同类型的istream以及返回istream的重点是什么?

using namespace std; 

istream& readInput(istream& in, vector<string>& wordList)
{
    string word;
    while (in >> word)
    {
        wordList.push_back(word);
    } 

    in.clear();

    return in;
}

void readInput(vector<string>& wordList)
{
    string word;
    while (cin >> word)
    {
        wordList.push_back(word);
    } 

    cin.clear();
}

1 个答案:

答案 0 :(得分:0)

  1. cin绝对不是唯一一个istream,我认为它甚至不是最常用的一个。阅读例如ifstreamistringstream

  2. 从函数中返回istream&在各种情况下都很有用 - 它取决于上下文。对于readInput的简单调用,可以跳过它并创建函数void