I have been doing some research on the inline keyword in C++, since my IDE (CLion) is... giving it a lot of preferential treatment.
From what I have read, correct me if I am wrong, it is primarily an optimization **when used on functions**. Forcing the compiler to insert the function contents directly wherever it's called when it assembles into opcode, removing the overhead of calling a subroutine, but potentially decreasing efficiency in other ways--low level CPU cache/branch predict stuff the compiler will probably decide for me anyway and that I don't have a great understanding of yet.
However, I cannot find a super clear answer on what cons this may have for *variables*.
Say I have a static variable in a namespace:
namespace stuff {
uint8_t x = 69;
}
What are some potential DRAWBACKS, if any, to making this inline? I can only find information on advantages, but that it should otherwise be left alone because the compiler will do it anyway if it's analysis deems necessary. The consensus seems to be "none" but I want to be sure because there is a lot of bad advice out there.
Thanks