Macros should never be used. Only inline functions are used.
Any function defined in the class automatically becomes an inline function. You can also use the inline keyword to convert functions defined outside the class into inline functions.
Inline functions must combine functions and declarations; otherwise, the compiler treats them as common functions.
In general, inline functions should be placed in the header file. In the header file, the inline function is an internal connection by default, that is, static. It can only be seen in the included compilation unit.
As long as it is declared in different compilation units, using the same name between the restrained function and the global function will not cause conflicts during the connection.
If the function is too complex, the compiler cannot execute inline. Generally, loops of any type are considered too complexCan be extended to inline functions.
Inline is only a suggestion of the compiler, And the compiler does not force inline anyCode.