Как инициализировать структуру-член в списке инициализаторов класса C ++?

У меня есть следующие определения классов в c ++:

struct Foo {
  int x;
  char array[24];
  short* y;
};

class Bar {
  Bar();

  int x;
  Foo foo;
};

, и я хотел бы инициализировать структуру "foo" (со всеми ее членами) нулем в инициализаторе класса Bar. Можно ли это сделать так:

Bar::Bar()
  : foo(),
    x(8) {
}

...?

Или что именно делает foo (x) в списке инициализаторов?

Или структура даже автоматически инициализируется нулевым значением из компилятора?

47
задан Jan Rüegg 17 November 2010 в 09:23
поделиться