Istream函数参数vs内联std::cin

istream function parameter vs inline std::cin

本文关键字:std cin 内联 vs 函数 参数 Istream      更新时间:2023-10-16

这两个函数有什么不同?除了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. cin绝对不是唯一的一个istream,我认为它甚至不是最常用的一个。阅读例如ifstreamistringstream

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