Предположим, следующий конструктор:
class Needed { public: Needed () {} Needed (const char *name) {} }; class Dummy { public: Dummy (): needed ( "Jimmy" ) {} private: Needed needed; };
Итак, я дважды инициализировал needed здесь?
needed
Нет, вы инициализировали его только один раз в списке инициализирующих элементов .
Нет, он инициализируется только один раз для каждого экземпляра Dummy. Вы только что предоставили аргументы для его инициализации (и выбрали, какой конструктор использовать).
Dummy