Namespaces
One of the goals of functions is to better organize our code. To do so, it is important to give meaningful names to them.
For example, in package management software, there might be a function called sort for sorting packages. As you can see, the name is the same as the function that would sort a list of numbers.
C++ has a feature that allows you to avoid these kinds of problems and groups names together: namespaces.
A namespace starts a scope in which all the names declared inside are part of the namespace.
To create a namespace, we use the namespace keyword, followed by the identifier and then the code block:
namespace example_namespace { // code goes here }
To access an identifier inside a namespace, we prepend the name of the namespace to the name of the function.
Namespaces can be nested as well. Simply use the same declaration as before inside the namespace:
namespace parent { namespace child { // code goes here } }
To access an identifier inside a namespace, you prepend...