When I use an initialization list:
struct Struct {
Struct() : memberVariable() {}
int memberVariable;
};
the primitive type (
Native types like int usually get a garbage value, eg. whatever happens to reside in the memory area it is created in. However this is not defined in the standard, and it might also be initialized to 0, which is quite common in eg. debug builds.
EDIT. But basically, you should never trust an uninitialized variable to hold something specific; Always define the values yourself.