const is a qualifer that, when applied, will make sure that const variables are read-only. Such attempt to modify a const variable directly will result in a
compiler error.
Additionally, const variables mut be initialized upon declaration.
Another use of const is to make functions const.
Const functions promises to NOT modify member variables of its' class. The const keyword is placed after the
identifier, but before the function body.
const
int c{5}; // uniform initilization
// now c is const, any attempt to
modify it results in an error
c = 6; // error, c is const
int d;
d = c; // fine, we're not modifing c
// another example:
class A
{
int a;
public:
A(): a(5) {}
void incrementA() { ++a; }
void incrementA2() const { ++a; } // error, incrementA2 is const, and will not modify a
};