Как члены класса C ++ инициализируются, если я не делаю это явно?

Предположим, у меня есть класс с частными членамиptr, name, pname, rname, crname а такжеage, Что произойдет, если я сам их не инициализирую? Вот пример:

class Example {
    private:
        int *ptr;
        string name;
        string *pname;
        string &rname;
        const string &crname;
        int age;

    public:
        Example() {}
};

И тогда я делаю:

int main() {
    Example ex;
}

Как члены инициализируются в ex? Что происходит с указателями? Делатьstring а такжеint получить 0-Instalized с конструкторами по умолчаниюstring() а такжеint()? Как насчет референтного члена? А как насчет постоянных ссылок?

О чем еще я должен знать?

Кто-нибудь знает учебник, который охватывает эти случаи? Может быть, в некоторых книгах? У меня есть доступ в университетской библиотеке ко многим книгам по С ++.

Я хотел бы изучить это, чтобы я мог писать лучше (без ошибок) программ. Любой отзыв поможет!

Ответы на вопрос(7)

Ваш ответ на вопрос