What does “#include ” do?

In order to read or write to the standard input/output streams, you need to include it.

int main(int argc, char * argv[])
{
    std::cout << "Hello, World!" << std::endl;
    return 0;
}

That program will not compile unless you add #include <iostream>

The second line isn’t necessary:

using namespace std;

That does tell the compiler that symbol names defined in the std namespace are to be brought into your program’s scope, so you can omit the namespace qualifier, and write for example:

#include <iostream>
using namespace std;

int main(int argc, char * argv[])
{
    cout << "Hello, World!" << endl;
    return 0;
}

Notice you no longer need to refer to the output stream with the fully qualified name std::cout and can use the shorter name cout.

I personally don’t like bringing in all symbols in the namespace of a header file… I’ll individually select the symbols I want to be shorter… so I would do this:

#include <iostream>
using std::cout;
using std::endl;

int main(int argc, char * argv[])
{
    cout << "Hello, World!" << endl;
    return 0;
}

But that is a matter of personal preference.

Leave a Comment

Hata!: SQLSTATE[HY000] [1045] Access denied for user 'divattrend_liink'@'localhost' (using password: YES)