在C ++中cin
和cout
通常用于读取/写入标准I / O的内容。它们都用作运算符<<
和>>
的操作数。换句话说,只要我们想要所述功能,它们就是对象。
由于cin
和cout
是对象,因此在程序的生命周期中创建/初始化它们时,我们可以在{{1}的任何位置使用它们库是导入的吗?
答案 0 :(得分:7)
[iostream.objects.overview] / 2 构造对象并在第一次构建类
ios_base::Init
的对象之前或期间的某个时间建立关联,并且在任何情况下,在主体开始执行之前。 294 在程序执行期间不会销毁对象。 295 在翻译单元中包含<iostream>
的结果应该好像<iostream>
定义了具有静态存储持续时间的ios_base::Init
实例。同样,整个程序的行为应该至少有一个具有静态存储持续时间的ios_base::Init
实例。294 如果他们可以这样做,鼓励实现早于所需的时间初始化对象。
295 静态对象的构造函数和析构函数可以访问这些对象以从
stdin
读取输入或将输出写入stdout
或stderr
。
另请参阅:Nifty counter