Getting started
After downloading Visual Studio (or another compiler, though they won't be explained here), it is time to make our first project!
Expand | ||
---|---|---|
| ||
|
Now that we have made a working project, let's implement the well known Hello World program.
Expand | |||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||||||||||||||||||||
To get a better understanding of how the code works, we will first implement the complete program and afterwards we will go through it step by step. To run the code, go to Debug → Start debugging/Start Without Debugging.
Alright, time to take a deeper look at the code. The first line is
In C++, much like in Python, we have to include libraries (headers) to perform certian actions, e.g. writing to file or solving math equations. iostream is the standard input/output streams library that enables us to print to screen (or e.g. a file).
In this example we have chosen to include the line above to make getting into C++ easier. What using namespace std does is to silently insert std:: (std = standard) as a prefix to a lot of our standard functions. In the example above, cout will therefore be interpreted as std::cout. The short answer to why this is necessary is to specifiy where (which library) the function comes from in the case we have multiple functions with the same name. An analogy to this is how two students with the same name "Tom" are differentiated by adding e.g. the first letter of their last name; "Tom H." and "Tom B.". By specifying the standard namespace for our entire program, we will avoid having to write std:: before many of our functions, which is benefitial when first learning C++. However, note that this shortcut comes with a cost. To learn more about these negatives, read this post on Stack Overflow explaining why it is considered a bad practice.
Next up is
What you see above is an example of a function in C++ (functions will be further covered later). The special thing about the main function is that in C++, a program shall contain a global function named main, which is the designated start of the program (the only function called when running). This is very different from both Python and MATLAB, where programs can be written without using any functions at all. To us, it means that every action we want to execute has to be described from within the main function, although you're of course allowed to call on other functions.
Lastly, we have
cout is the standard output stream (stands for console or choaracter output), and is what enables us to write to screen. cout is also a function, but since it is used so often, it has been given a special operator "<<", making the function call easier. We will describe this even further in a later section. Congratulations, we have now not just made a simple program, but we have also dove deeper into the meaning of our code, thus already touching multiple important features in C++. |
Variables
You are probably familiar from Python or MATLAB that variables can be e.g. integers, floating-points or strings. In C++, variables are handled a bit more carefully. Among other things, we need to declare what type our variable is before we can give it a value.
Expand | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||
As mentioned, variables can not be given any value without first beeing told what kind of data will be stored there. A full list of all variables and their size/precision can be found at the variable documentation, but some of the most used are
In the example above, some variables are a bit different.
When initializating variables in C++, three methods are used:
When working with different variables, keep in mind how the variable operates. An example of this is the int, which will always round down to the lowest integer.
As shown, static_cast<type>(var) can temporarily convert a variable to another type in order to bypass the limits set by the original type. |
BibTeX Display Table |
---|