Как члены класса 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()
? Как насчет референтного члена? А как насчет постоянных ссылок?
О чем еще я должен знать?
Кто-нибудь знает учебник, который охватывает эти случаи? Может быть, в некоторых книгах? У меня есть доступ в университетской библиотеке ко многим книгам по С ++.
Я хотел бы изучить это, чтобы я мог писать лучше (без ошибок) программ. Любой отзыв поможет!