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++
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" :-)
std::cout << "Hi there what's your name?\n";
std::cout << "It was good to meet you " << line << "\n";
The above code is relatively simple and only a few things to note:
Imports the standard input and output facilities so you can print messages to the user and read user input.
Is the standard input stream. From this you can read user input.
Is the standard output stream. You can print text to the user console.
Imports the standard string handling function. Most importantly it imports the type
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.
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.