我在某处看到了下面的代码片段。
#include <iostream>
int main()
{
std::ostream& os = std::cout;
os << "thanks a lot" << std::endl;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
由于上述代码片段运行良好,因此表明它std::cout源自std::ostream. 但我还找不到任何直接的参考。
根据文件,其中说[强调我的]:
全局对象 std::cout 和 std::wcout控制输出到实现定义类型(派生自 std::streambuf)的流缓冲区,与标准 C 输出流 stdout 关联。
上面的引用说控制输出到派生自其他std::cout类型而不是派生自 的类型。std::streambufstd::coutstd::streambuf
std::cout我只在名为 的文件中找到 的声明/usr/include/c++/7/iostream:
extern ostream cout; /// Linked to standard output
Run Code Online (Sandbox Code Playgroud)
我找不到 的实现std::cout。