I am writing a C++ header in which I define a
class A {
// ...
};
that I would like to hide from the outside world (because it may chang
The right way to go about it in C++ is PIMPL idiom. Alternative solution is to put the class you want to hide into a nested namespace, which is usually called detail. But that will not make it totally private as users will still be exposed to its dependencies, and will be able to use it directly.