@jonbro the *only* semantic difference between classes and structs in c++ is class members are private by default and struct members are public by default. otherwise the two forms are totally identical. the only perf overhead is when you use virtual functions because then you need a vtable. the perf overhead is because virtual functions are function pointers. that's all
@aeva the thing I'm wondering about is the difference between a class and a struct that is inside extern "C" {}
will those have effectively the same memory footprint?
I'm guessing that instance.function() is roughly equivalent to function(&instance) as well.
@aeva no c++isms is generally how I write c++ anyways. I don't know why I didn't confirm incorrect belief I had earlier (I thought all function calls went through a vtable)