std::wcout
STD:cout,std::wcout
Defined in header | | |
---|---|---|
extern std::ostream cout; | (1) | |
extern std::wostream wcout; | (2) | |
全局对象std::cout
和std::wcout
控件输出到实现定义类型%28的流缓冲区。std::streambuf
%29,与标准C输出流相关联stdout
...
这些对象保证在第一次类型对象时或之前初始化。std::ios_base::Init构造,并可在静态对象的构造函数和析构函数中使用有序初始化%28<iostream>对象定义%29之前包含。
除非sync_with_stdio(false)
发出后,可以安全地从多个线程中同时访问这些对象,用于格式化输出和未格式化输出。
一旦初始化,std::cout
是tie()
%27Dstd::cin
和std::wcout
是%28%29%27D到std::wcin
,这意味着在std::cin
执行std::cout.flush()
%28std::basic_istream::sentry
%27s构造函数%29。
一旦初始化,std::cout
也是tie()
%27Dstd::cerr
和std::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
二次
另见
Init | initializes standard stream objects (public member class of std::ios_base) |
---|---|
cerrwcerr | writes to the standard C error stream stderr, unbuffered(global object) |
clogwclog | writes to the standard C error stream stderr(global object) |
© cppreference.com
在CreativeCommonsAttribution下授权-ShareAlike未移植许可v3.0。