如何构造/实例化对象std :: cout

时间:2010-12-16 05:43:04

标签: c++

所以std :: cout是一个对象。我怀疑是如何/在何处构建/实例化。

感谢。

1 个答案:

答案 0 :(得分:4)

它由ios_base::Init构建。第一次创建对象时,会创建cout和朋友。如果最后一个对象被销毁,则cout和朋友被刷新(调用.flush())。

在C ++ 0x中,如果你包含<iostream>,并且在cout之后使用#include和朋友将使用构造的cout和朋友对象,则可以保证。在C ++ 03中,据说

  

构造对象,并且在第一次构造类ios_base::Init的对象之前或期间的某个时间建立关联,并且在任何情况下在main的主体开始执行之前建立关联。