struct some_struct{ int a; }; some_struct n = {};
n.a will be 0 after this;
I know this braces form of initialization is inherited from C a
It is standard in C++, it isn't in C.
The syntax was introduced to C++, because some objects can't be initialized with 0, and there would be no generic way to perform value-initialization of arrays.