Ok I don't know if that is my C brain talking but the `m_` for member variables in classes in C++ makes me question using classes at all. Main benefit of methods are implicit `this` pointer (and obj.func but meh). But that creates confusion which are class and which are function variables. So instead of being explicit and using `this` you add `m` or `_m` before that. With free function you can even define your own name for instead of `this`and call that from the method and have a C API as well.