Stream應用注意點

2021-04-20 02:15:58 字數 1553 閱讀 8577

1. stream 的類層次

2. stream 的狀態 (iostate) /io 格式化flag (fmtflags) / 檔案開啟模式(openmode) / 檔案定位標記 (seekdir) 。

3. stream 中failbit 和 badbit 的差別。failbit 用於讀取時格式不符的情況。注意,在格式不符時,stream會跳過不符的輸入並且不對變數進行更改。

4. stream 中 ignore()/peek()/unget() 的使用

5. 重定向標準輸入/輸出的能力。

std::ofstream file ("cout.txt");

std::cout.rdbuf (file.rdbuf());

6. 在類繼承中如何正確使用 operator << ,operator >> 

class fraction ;

std::ostream& operator << (std::ostream& strm, const fraction& f)

std::istream& operator >> (std::istream& strm, fraction& f)

7. 使用者定義的標誌 和 使用者註冊的**函式

ios_base::xalloc();/ ios_base::iword() / ios_base::pword();

namespace std ;

// type of callbacks

typedef void (*event_callback) (event e, ios_base& strm,

int arg);

// function to register callbacks

void register_callback (event_callback cb, int arg);

...};

}8. manipulators

具體看以下在標準c++庫中的例子:

8。1 變數型別

template

basic_istream<_chart, _traits>& 

basic_istream<_chart, _traits>::

operator>>(float& __n)

8。2 函式型別

template

basic_istream<_chart, _traits>& 

basic_istream<_chart, _traits>::

operator>>(__ios_type& (*__pf)(__ios_type&))

8。3 帶引數函式的間接支援

struct _setiosflags ;

inline _setiosflags 

setiosflags(ios_base::fmtflags __mask)  // 返回結構的帶引數函式

template

inline basic_istream<_chart,_traits>& 

operator>>(basic_istream<_chart,_traits>& __is, _setiosflags __f)  //結構

快應用 注意點

一 計算屬性 我們可以將同一函式定義為乙個方法而不是乙個計算屬性,兩種方式的最終結果確實是完全相同的。然而,不同的是計算屬性是基於他們的依賴進行快取的,只要相關依賴發生改變時 他們才會重新求值。這就意味著多次訪問計算屬性會立即返回之前的計算結果,而不必再次執行函式 相比之下,每當觸發重新渲染時,呼叫...

Stream基礎篇 Stream入門應用

分割槽是有狀態處理中的乙個關鍵概念,無論是效能還是一致性的原因,分割槽都是至關重要的,當生產者將訊息資料傳送給多個消費者例項時,保證擁有共同特徵的訊息資料始終是由同乙個消費者例項接收和處理。例如,在時間窗平均計算示例中,來自任何給定感測器的所有測量值都由相同應用程式例項處理是很重要的。注 要設定分割...

Stream初步應用

stream 流 是乙個來自資料來源的元素佇列並支援聚合操作,資料 可以從inputstream,陣列,集合中獲取 聚合操作可以類似sql語句一樣的操作,比如filter,map,reduce,find,match,sorted等。public class streamrefer 流的方法測試 te...