如果您从文件中逐行输入(将行读入字符串,以进行标记化),是否应该有理由优先使用 getline 或 istream_iterator。
最佳答案
我有时(视情况而定)写一个线类,这样我就可以使用istream_iterator
:
#include <string>
#include <vector>
#include <iterator>
#include <iostream>
#include <algorithm>
struct Line
{
std::string lineData;
operator std::string() const
{
return lineData;
}
};
std::istream& operator>>(std::istream& str,Line& data)
{
std::getline(str,data.lineData);
return str;
}
int main()
{
std::vector<std::string> lines(std::istream_iterator<Line>(std::cin),
std::istream_iterator<Line>());
}
关于c++ - getline 与 istream_iterator,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1729772/