Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > Инициализация членов класса


Автор: KDenisK 14.9.2008, 23:47
Код

class A {
    public:
       A();
    private:
       int a;
       float f;
       char str[35];
       long *lp;
    };

    A::A()
    {
       memset(this, 0, sizeof(*this));
    }



Нормально так делать?

Автор: Alek86 14.9.2008, 23:57
насколько я помню, этот класс не является POD - значит по стандарту не нормально

Автор: W4FhLF 15.9.2008, 05:54
http://forum.vingrad.ru/forum/topic-225197.html

Автор: KDenisK 16.9.2008, 21:22
Я пользовался поиском smile Но у меня вопрос именно ПРО КЛАСС, а не про структуры или массивы.

Автор: Daevaorn 16.9.2008, 21:46
Цитата(KDenisK @  16.9.2008,  22:22 Найти цитируемый пост)
Я пользовался поиском smile Но у меня вопрос именно ПРО КЛАСС, а не про структуры или массивы. 

на ваш вопрос ответил уже Alek86

Автор: J0ker 17.9.2008, 05:14
если класс не полиморфный то в общем случае для большинства компиляторов это может работать
но за такое надо вообще-то убивать

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)