我知道cout被宣布为 extern ostream cout;
这只是一个外部衰减,所以cout定义在哪里? 如何初始化cout的streambuf以及它如何与标准输出相关联?
ostream类有一个构造函数,它将streambuf指针作为参数。 所以我的理解是在某个地方必须将cout定为 ostream cout(streambufPtr);我在哪里找到这个?
感谢。
答案 0 :(得分:0)
cout
的实际声明是必需的,以便您可以使用它。它的定义不是。
这与构成标准库的代码没什么区别 - 当你需要声明时,你不需要看到定义(实现它们的代码)。
因此,cout
及其兄弟很可能存储在某处的C ++运行时/启动库中,以及在允许代码运行之前将其附加到标准输出的代码。