GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
std::cout,std::wcout(3) C++ Standard Libary std::cout,std::wcout(3)

std::cout,std::wcout - std::cout,std::wcout


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


The global objects std::cout and std::wcout control output to a stream buffer of
implementation-defined type (derived from std::streambuf), associated with the
standard C output stream stdout.


These objects are guaranteed to be initialized during or before the first time an
object of type std::ios_base::Init is constructed and are available for use in the
constructors and destructors of static objects with ordered initialization (as long
as <iostream> is included before the object is defined).


Unless std::ios_base::sync_with_stdio(false) has been issued, it is safe to
concurrently access these objects from multiple threads for both formatted and
unformatted output.


By specification of std::cin, std::cin.tie() returns &std::cout. This means that any
input operation on std::cin executes std::cout.flush() (via
std::basic_istream::sentry's constructor). Similarly, std::wcin.tie() returns
&std::wcout.


By specification of std::cerr, std::cerr.tie() returns &std::cout. This means that
any output operation on std::cerr executes std::cout.flush() (via
std::basic_ostream::sentry's constructor). Similarly, std::wcerr.tie() returns
&std::wcout. (since C++11)


The 'c' in the name refers to "character" (stroustrup.com FAQ); cout means
"character output" and wcout means "wide character output".


Because dynamic initialization of templated variables are unordered, it is not
guaranteed that std::cout has been initialized to a usable state before the
initialization of such variables begins, unless an object of type
std::ios_base::Init has been constructed.

// Run this code


#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)
cerr writes to the standard C error stream stderr, unbuffered
wcerr (global object)
clog writes to the standard C error stream stderr
wclog (global object)
stdin expression of type FILE* associated with the input stream
stdout expression of type FILE* associated with the output stream
stderr expression of type FILE* associated with the error output stream
(macro constant)

2022.07.31 http://cppreference.com

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.