cin是C++的標準輸入流,其自己是一個對象,並不存在返回值的概念。windows
不過常常會有相似於 while(cin>>a) 的調用,這裏並非cin的返回值,應該關注">>"輸入操做符,實際上是它到底返回了什麼
「>>」操做重載函數
istream& operator>>(istream&, T &);的返回值,其中第二個參數由cin>>後續參數類型決定。
其返回值類型爲istream&類型,大多數狀況下其返回值爲cin自己(非0值),只有當遇到EOF輸入時,返回值爲0。
因此會有如下這種cin連續讀取的方法
當輸入全部數據後,經過輸入EOF的方法,能夠退出while(cin>>a)這樣的循環。
輸入EOF的方法,windows下輸入ctrl+z, Linux下輸入ctrl+d。
在相似於 ssize_t getline(char **lineptr, size_t *n, FILE *stream);
//getline(),在C++手冊中顯示Return value爲input,iuput就是獲取數據的流,就是getline的第一個參數
//有相似以下代碼,從cin(標準輸入流)中獲取內容,返回值爲獲取內容,當遇到EOF時,返回0。
1 if(!getline(cin, line)) 2 { 3 break; 4 }