-4
在我的C++的書,有這樣的循環:爲什麼cin用作循環條件?
vector<double> temps; // temperatures
for (double temp; cin>>temp;) // read and put into temps
temps.push_back(temp);
這似乎永遠循環下去。我無法停止這個循環。這有什麼用途?
在我的C++的書,有這樣的循環:爲什麼cin用作循環條件?
vector<double> temps; // temperatures
for (double temp; cin>>temp;) // read and put into temps
temps.push_back(temp);
這似乎永遠循環下去。我無法停止這個循環。這有什麼用途?
operator>>
將返回流(cin
),它本身可以轉換爲表示流是否仍然有效的bool
。這將循環直到導致cin
的讀取失敗(文件結束,字母而不是數字等)。
這是類似的:
int num;
while(cin.good()) //could also use while(cin)
{
cin >> num;
cout << num << endl;
}
你在哪裏連續讀取數字並打印出來。輸入一個非數字會導致輸入流失敗,因此cin.good()會變成false(流不再好)
我編輯你的問題的方法很多,試圖使它更清晰。如果您不同意編輯,請隨時將其改回。 –