TIL: C++ distinguishes between “default-initialization” (which is “do nothing” for types like ‘int’), and “value-initialization” (or its special case zero-initialization). So if you see “default-initialized” somewhere, read that as “POD types are left uninitialized”.