Инициализация указателя в инициализации класса - PullRequest
1 голос
/ 10 июля 2019

Учитывая

class Foo {
    public:
        bool *b;
        Foo();
};
Foo::Foo()
    :b()
{      
}

int main()
{
    Foo foo;
}

Что делает b() в списке инициализатора класса?Кажется, возможно, инициализировать значение указателя на 0.

1 Ответ

2 голосов
/ 10 июля 2019

Это значение инициализации ;в качестве эффекта встроенные типы будут инициализированными нулями .Это означает, что b будет инициализировано в 0 (нулевой указатель ).

4) в противном случае объект инициализируется нулями.

и

Если T - скалярный тип, начальным значением объекта является целочисленная постоянная ноль, явно преобразуемая в T.

, а также

Инициализация нуля и значения также инициализирует указатели на их нулевые значения.

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