我想在同一個語句中使用輸入和輸出操作符iostream,對用戶來說不是更好,但我試圖沒有成功獲得。使用IOSTREAM在同一行輸出和輸入
的代碼片段:
int value = 0;
std::cout << "Number 1: " <<std::cin>> value << std::endl;
有沒有辦法做到這一點只用CIN COUT?
我想在同一個語句中使用輸入和輸出操作符iostream,對用戶來說不是更好,但我試圖沒有成功獲得。使用IOSTREAM在同一行輸出和輸入
的代碼片段:
int value = 0;
std::cout << "Number 1: " <<std::cin>> value << std::endl;
有沒有辦法做到這一點只用CIN COUT?
struct IO {
template <typename T>
const IO & operator << (const T & t) const {
std :: cout << t;
return *this;
}
template <typename T>
const IO & operator >> (T & t) const {
std :: cin >> t;
return *this;
}
};
IO() << "Number 1: " >> value;
對不起,但這裏不起作用。我不知道我的執行問題是否是。 –
@布魯諾:「不工作」是你可能在這裏說的第二個最不有用的東西,只在「香蕉!」之後。 –
@spraff:[* Ahem *](http://www.ideone.com/Abw29)。 –
std::cout << "Number 1: ";
std::cin >> value;
應該這樣做。
這是兩條線。 :-) –
我知道,但我希望另一半,因爲它對我和其他人發起挑戰。 –
OP特意詢問_alternative_。 Plz2readTheQ! –
有點亂,但我認爲這是你使用COUT想
std::cout<<"Data : "<<val<<std::endl<<(std::cin>>val)<<"\r"<<"\t\r\n"<<std::flush;
什麼,CIN保持代碼的可讀性;一堆<< >> >><< >><<會讓它變得一團糟。 –