Namespaces are a feature of C++ which address the problem of name conflicts. There is a “global” namespace, where everything lives which was declared without namespace. Especially the Arduino environment declares a huge amount of variables and constants there, so it is a good practice to put everything you write in a own namespace. Namespaces are only used at compile time, and they do not use any memory at runtime or make your program slower.
In my case I choose the namespace
lr which stands for Lucky Resistor. Everything I declare in this namespace is accessible trough the
:: operator which you probably already know from function definitions.