gpt4 book ai didi

c++ - cout对象的streambuf是如何初始化的?

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:57:30 24 4
gpt4 key购买 nike

我知道 cout 被声明为外部 ostream cout;

这只是一个外部声明,那么 cout 在哪里定义的?cout 的 streambuf 是如何初始化的以及它是如何关联到标准输出的?

ostream 类有一个构造函数,它以streambuf 指针为参数。所以我的理解是 cout 必须在某个地方实例化为ostream cout(streambufPtr);我在哪里可以找到它?

谢谢。

最佳答案

cout 的实际声明是必需的,以便您可以使用它。它的定义不是。

这与构成标准库的代码没有什么不同 - 虽然您需要声明,但定义(实现它们的代码)不一定对您可见。

因此 cout 及其兄弟很可能存储在 C++ 运行时/启动库中的某个地方,以及在您的代码被允许运行之前将其附加到标准输出的代码。

关于c++ - cout对象的streambuf是如何初始化的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16226866/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com