Выражение BStats()
описано в стандарте в 5.2.3 / 2:
Выражение T (), где T - это спецификатор простого типа (7.1.5.2) для не полного массива типа объекта или типа void (возможно, cv-квалифицированного), создает значение r указанного типа который инициализируется значением.
То есть выражение создает rvalue типа Bstats
, который инициализирован значением . В вашем конкретном случае значение-инициализация означает, что два члена структуры BStats
будут установлены в ноль.
Обратите внимание, что это отличается от поведения вызова конструктора по умолчанию , который упоминается в других ответах, поскольку конструктор по умолчанию не гарантирует, что члены установлены в 0.