inline has some prehistoric use, but at the moment it’s best to remember it: “this definition will be defined several times, and that’s good.”
That is, as a rule, the rule of one definition prohibits several definitions of a function. It:
void foo() { }
#include "foo.hpp"
#include "foo.hpp"
leads to an error, because it foois defined in two translation units. You can declare things as often as you want. It:
void foo();
void foo()
{
}
#include "foo.hpp"
#include "foo.hpp"
excellent, because it foois defined once and declared several times. What allows inline:
inline void foo() { }
#include "foo.hpp"
#include "foo.hpp"
. : " foo , , ".