物件
<iostream>

std::cerr

extern ostream cerr;
標準錯誤輸出流
ostream 的物件,表示面向窄字元(char 型別)的標準錯誤流。它對應於 C 流 stderr

標準錯誤流是由環境決定的字元輸出目的地。這個目的地可能被多個標準物件(如 coutclog)共享。

作為一個 ostream 類的物件,可以使用插入運算子 (operator<<) 將格式化資料寫入其中,也可以使用成員函式(如 write)寫入非格式化資料。

該物件在標頭檔案 <iostream> 中宣告,具有外部連結靜態儲存期:它在程式的整個生命週期內都存在。

靜態初始化順序而言,保證 cerr 在型別為 ios_base::Init 的物件首次構造時不晚於其被正確構造和初始化。

cerr 不與任何其他輸出流繫結(見 ios::tie)。
靜態初始化順序而言,保證 cerr 在型別為 ios_base::Init 的物件首次構造時不晚於其被正確構造和初始化,包含 <iostream> 至少算作對此類具有靜態儲存期的物件進行了一次初始化。

cerr 與標準輸出流 cout 繫結(見 ios::tie),這表示在對 cerr 執行每個 I/O 操作之前,cout 的緩衝區都會被重新整理(見 ostream::flush)。

預設情況下,cerrstderr 同步(見 ios_base::sync_with_stdio)。

程式不應將對 cerr 的輸出操作與對 wcerrwclog 的輸出操作(或與對 stderr 的其他寬字元導向的輸出操作)混合使用:一旦對其中任一者執行了輸出操作,標準錯誤流就會獲得一種確定的流向(窄字元寬字元),之後只能透過在 stderr 上呼叫 freopen 才能安全地更改該流向。

有關 cerr 支援的操作的更多資訊,請參閱其型別 ostream 的參考文件。

另見