2010-12-16 28 views
3

所以std :: cout是一個對象。我懷疑它是如何/在哪裏構造/實例化的。對象std :: cout是如何構造/實例化的

謝謝。

+2

在圖書館某處,您無法輕鬆訪問。請記住,您無法保證*它的構建方式,只是它是,它會做什麼 – Robert 2010-12-16 05:48:17

回答

4

它由ios_base::Init構建。第一次創建該對象時,將創建cout和朋友。如果最後一個對象被銷燬,cout和朋友被刷新(呼叫.flush())。

C++ 0x中也將得到保證,如果你有<iostream>,以及cout和朋友使用#include將使用後建造cout和朋友的對象。在C++ 03,據說

的對象構造,並且關聯被身體之前在之前或期間第一次一段時間被構造ios_base::Init類的一個對象建立,並且在任何情況下主要開始執行。