Architecture Net


         

неуправляемый тип не может происходить


// класс сборщика мусора

// BadSubManagedClass: SuperUnmanagedClass

// ошибка: неуправляемый тип не может происходить

//от управляемого типа

//_nogc class BadSubUnmanagedClass : SuperManagedClass {};

// класс BadSubUnmanagedClass: SuperManagedClass {};

//OK: can derive from machine managed/unmanaged super class

// OK: может происходить от суперкласса,

// управляемого/неуправляемого машиной

_gc class OKSubManagedClass : public SuperManagedClass {};

// класс сборщика мусора

// OKSubManagedClass: SuperManagedClass

_nogc class OKSubUnmanagedClass : SuperUnmanagedClass {};

// класс OKSubUnmanagedClass: SuperUnmanagedClass

void main(void) {

UnmanagedClass *pumc = new UnmanagedClass;

// старый C++

UnmanagedClass umc; // старый C++

UnmanagedClass srumc = *new UnmanagedClass;

// старый C++

ManagedClass *pmc = new ManagedClass;

//OK: управляемая динамически распределяемая

// область памяти

//ManagedClass me; // Ошибка: боится стека

ManagedClass &rmc = *new ManagedClass;

// OK: управляемая динамически распределяемая // область памяти

}

CompEbook.ru Железо, дизайн, обучение и другие


Содержание  Назад  Вперед