Как с ++ инициализирует объект? Следующий случай делает это дважды? - PullRequest
1 голос
/ 31 января 2012

Предположим, следующий конструктор:

class Needed
{
public: 
    Needed () {}
    Needed (const char *name) {}
};


class Dummy
{
public:
    Dummy (): needed ( "Jimmy" ) {}

private:
    Needed needed;
};

Итак, я дважды инициализировал needed здесь?

Ответы [ 2 ]

6 голосов
/ 31 января 2012

Нет, вы инициализировали его только один раз в списке инициализирующих элементов .

1 голос
/ 31 января 2012

Нет, он инициализируется только один раз для каждого экземпляра Dummy. Вы только что предоставили аргументы для его инициализации (и выбрали, какой конструктор использовать).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...