在线文档教程
C++
输入/输出 | Input/output

std::cout

STD:cout,std::wcout

Defined in header
extern std::ostream cout;(1)
extern std::wostream wcout;(2)

全局对象std::coutstd::wcout控件输出到实现定义类型%28的流缓冲区。std::streambuf%29,与标准C输出流相关联stdout...

这些对象保证在第一次类型对象时或之前初始化。std::ios_base::Init构造,并可在静态对象的构造函数和析构函数中使用有序初始化%28<iostream>对象定义%29之前包含。

除非sync_with_stdio(false)发出后,可以安全地从多个线程中同时访问这些对象,用于格式化输出和未格式化输出。

一旦初始化,std::couttie()%27Dstd::cinstd::wcout是%28%29%27D到std::wcin,这意味着在std::cin执行std::cout.flush()%28std::basic_istream::sentry%27s构造函数%29。

一旦初始化,std::cout也是tie()%27Dstd::cerrstd::wcout是%28%29%27D到std::wcerr的输出操作。std::cerr执行std::cout.flush()%28std::basic_ostream::sentry%27s构造函数%29%28自C++11%29。

注记

名称中的%27c%27引用“字符”%28stroustrup.com常见问题29%;cout意思是“字符输出”和wcout意思是“宽字符输出”

二次

#include <iostream> struct Foo { int n; Foo() { std::cout << "static constructor\n"; } ~Foo() { std::cout << "static destructor\n"; } }; Foo f; // static object int main() { std::cout << "main function\n"; }

二次

产出:

二次

static constructor main function static destructor

二次

另见

Initinitializes standard stream objects (public member class of std::ios_base)
cerrwcerrwrites to the standard C error stream stderr, unbuffered(global object)
clogwclogwrites to the standard C error stream stderr(global object)

© cppreference.com

在CreativeCommonsAttribution下授权-ShareAlike未移植许可v3.0。

http://en.cppreference.com/w/cpp/io/cout