我讀過cout和cin是類std :: istream和std :: ostream的對象。有沒有用戶定義的對象,如cout和cin?在C++中創建istream和ostream對象
例如。 我怎樣才能做這樣的事情:
ostream obj;
obj<<"string"<<endl;
編輯1:我想定義的對象可以複製cout和CIN沒有與他們的內置的定義搞亂。
我讀過cout和cin是類std :: istream和std :: ostream的對象。有沒有用戶定義的對象,如cout和cin?在C++中創建istream和ostream對象
例如。 我怎樣才能做這樣的事情:
ostream obj;
obj<<"string"<<endl;
編輯1:我想定義的對象可以複製cout和CIN沒有與他們的內置的定義搞亂。
是的,你可以創建任何你想要的流。
由於流數據與源和匯流,你通常要使用下列之一:
std::stringstream
- 添加數據自己,訪問它以流的形式std::{i,o}fstream
- 數據來自/去到一個文件std::cout
和std::cin
是碰巧分別連接到標準輸出和標準輸入流的特定情況下,但有沒有理由你不能製作你自己的流媒體。
你只需要精確和知道你真正想讓他們做什麼。
要處理字符串,我建議使用std::stringstream。
std :: stringstream類是從istream派生的。
std::stringstream obj;
obj << "Hello World" << endl;
// You can convert it to a string afterwards
std::string myString = obj.str();
所以你只想引用他們....?如果不是這種情況,請詳細說明。 – NaCl
這是很不清楚你問的。這些新流如何與cin和cout不同?你是指「不干擾他們的內置定義」是什麼意思? – 0x499602D2