# Hello World

This is the first article in the series
OK. Lets do this.

I keep trying to think about something big and interesting to write about. But that is just not working. All my time is spent trying to think of the blockbuster idea; which just gets in the way of actually writing. So lets start with the small things. If I can get into the habit of writing something a couple of times a week. Then maybe we can work up to interesting stuff.

Step one; write about something I know. C++; we now start the "So you want to learn C++" series of posts.

I am going to assume two things.

• You know how to use the compiler
• That you have some basic programming experience C/Java/C#/Perl/PHP (nearly anything)
So you understand the basics of program but are unfamiliar with C++

First thing everybody needs is to get something working; here is the classic "Hello World" in C++

helloworld.cpp

#include <iostream>

int main()
{
std::cout << "Hello World\n";
}

The next step is to accepts user input and generates a response based on that input. Lets move on to the not quite as classic "Hi There Bob" :-)

hitherebob.cpp

#include <iostream>
#include <string>

int main()
{
std::cout << "Hi there what's your name?\n";

std::string  line;
std::getline(std::cin, line);

std::cout << "It was good to meet you " << line << "\n";
}

The above code is relatively simple and only a few things to note:

• #include <iostream> Imports the standard input and output facilities so you can print messages to the user and read user input.
• std::cin
Is the standard input stream. From this you can read user input.
• std::cout
Is the standard output stream. You can print text to the user console.
• #include <string> Imports the standard string handling function. Most importantly it imports the type std::string.
• std::string
This is one of the standard types and holds strings (a list of characters). We will go over types (and variables) in a lot more details in subsequent articles. But for just accept that line is a variable (of type std::string) used to hold a line of user input.
• std::getline()
This is a function that reads a line of text from a std::istream into a std::string. In this case we use std::cin as the input stream (it is a specialization of a std::istream and can thus be used as the input). Thus we read a line of input from the user.

There are a lot of other concepts encapsulated above that I don't want to get into quite yet. But don't worry I will cover them all.