We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
Hi, very sorry if this question should be too picky ... .
I have quite a bit of large "global classes" in my multi-module C++ software. (I mean a class without constructor/destructor, which is used exactly one time in the software - it is defined "globally").
As it is used only one time, I could specify the variables / functions as static or not. I was wondering, which way would create tighter code. According to my investigations I have the following rules now: - Functions should be static, except inline functions - these must NOT be static (otherwise they are not inlined any more). - Public data variables, which are heavily used outside class functions, should preferably be defined static. - Private data variables, which are mainly used inside class functions, should preferably be defined non-static.
Could some C++ expert have a look at these rules and comment them? (ok, quite ok or complete nonsense?)
PS: In some C++ languages, it seems to be possible to define a complete class as static:
static class TestClass{ ... };
As I see, this is NOT possible in Keil C++, or am I wrong?