对开端人来说,这部法律的更清洁版本是你刚才写的:
ifstream input("input.txt");
string s;
while (input >> s) {
cout << s << endl;
vector<string> elems;
elems.push_back(s);
}
This uses ifstream
instead of fstream
, which seems appropriate here since you aren t using the write facilities of fstream
. It also combines the read logic with the loop condition, simplifying the logic for when to continue.
似乎与这一守则相矛盾的是,你将<条码>查询<>/代码>的范围扩大,使之仅能为一种选择而生活。 因此,每张缩略语中,你就失去了所有旧的<条码> 查询/编码>内容。 摆脱这种循环,或许可以确定:
ifstream input("input.txt");
vector<string> elems;
string s;
while (input >> s) {
cout << s << endl;
elems.push_back(s);
}
最后,如果你想要接手<条码>查询/编码>的内容。 将这些文件加在一起,你可能不想把档案视为示意图,而是作为<条码>、<条码>或<条码>。 这使你不必在以后转换价值。 例如:
ifstream input("input.txt");
vector<double> elems;
double s;
while (input >> s) {
cout << s << endl;
elems.push_back(s);
}
现在,你可以共同增加所有价值观:
double total = 0.0;
for (int i = 0; i < elems.size(); ++i)
total += elems[i];
或者,更糟的是,你可以使用<代码>accumulate把所有东西加在一起。 <代码><数和>;:
double total = accumulate(elems.begin(), elems.end(), 0.0);
希望这一帮助!