C++ cout: Usage and Examples


cout is an object that refers to the standard output stream included in the C++ standard library, and it stands for “console output”.

It primarily provides a method for a program to display messages to the user. Generally, it is used to output strings, numbers, etc. to the console screen (terminal or command prompt).

Usage of cout

How to Include cout in a Program

To use cout in your program, you need to include the iostream library of C++. This is done as follows:

1#include <iostream>

Then, specify cout using the std namespace:

1std::cout << "Hello, World!";

Basic Output of Strings

The basic way to output strings in C++ is as follows:

1#include <iostream>
3int main() {
4    std::cout << "Hello, World!";
5    return 0;

Outputting Special Characters and Symbols

How to Output Quotation Marks

To output double quotation marks (“), use the escape character (backslash \). Here is an example:

1std::cout << "He said, \"Hello, World!\"";

How to Output Backslashes

To output the backslash itself, use two consecutive backslashes. Here is an example:

1std::cout << "This is a backslash: \\";

Comparison of cout and Other Output Methods

The Difference between cout and printf

The main difference between cout and the C language printf is that cout provides C++ type safety and can use overloaded insertion operators (<<). This allows you to define the output method of your types. On the other hand, while printf uses format strings, it is prone to type mismatches and other issues.

Detailed Behavior and Settings of cout

Synchronization of cout and stdout

By default, cout and C’s standard output (stdout) are synchronized, ensuring compatibility. However, this can cause a slight decrease in performance. If necessary, you can disable synchronization:


Flushing Operation of cout

cout is buffered, and it is output when a certain amount of data accumulates. If you want to output immediately, you can flush (force output) using endl:

1std::cout << "Immediate output" << std::endl;

Usage of Manipulators to Control cout Behavior

What is a Manipulator?

A manipulator is a special function that manipulates streams. This allows you to control the format of the output (such as precision, fill, field width, etc.).

Examples of Using Manipulators

For example, to set the number of decimal places when outputting a floating-point number, use std::setprecision:

1#include <iostream>
2#include <iomanip>  // Header file required to use manipulators
4int main() {
5    double pi = 3.14159265;
6    std::cout << std::setprecision(4) << pi;  // Outputs "3.142"
7    return 0;

Thus, by using cout and manipulators, it is possible to meticulously control the output in C++.