Clarify UserGuide comments about C++ class boilerplate and hiding Un-@stable APIs
Currently in the User Guide section C/C++ Hiding Un-@stable APIs, there is this comment:
We do not #ifndef APIs where that would be problematic:
* struct/class members where that would modify the object layout (non-static struct/class fields, virtual methods)
* enum constants where that would modify the numeric values of following constants
* C++ class boilerplate (e.g., default/copy constructors) because otherwise the compiler would create public ones
The comment about compilers always creating default constructors is not quite correct. According to investigation by Markus, the compiler only automatically creates a default constructor if the class does not specify any other constructors. Need to refine the comment/guidance here.