Say I have:
class Foo {
union {
double a;
std::string b;
};
};
What will the default constructor generated by the compiler do? My understanding of the C++ standard is that primitives are not initialized but objects are. So what happens here?