When using C++ 20 designated intializers it is not required to specify a value for every field:
struct Foo
{
int i;
void* p;
};
can be initialized like this:
Foo bar = {
.i = 22
};
Are the left out fields zero-intialized? So in this example is p guaranteed to be set to nullptr?