Visual C ++ без изменений и управления

В чем разница между созданием экземпляра объекта .NET в C ++, который является управляемым и неуправляемым. Другими словами, каковы различия между этими операторами to:

StreamWriter ^stream = gcnew StreamWriter(fileName);

и

StreamWriter *stream = new StreamWriter(fileName);

Я предполагаю, что если я использую gcnew, память, выделенная для StreamWriter, будет управляться сборщиком мусора. В качестве альтернативы, если я использую указатель (*) и ключевое слово new, мне придется вызвать delete, чтобы освободить память.

Мой настоящий вопрос: будет ли сборщик мусора управлять памятью, которая выделяется внутри объектов .NET? Например, если объект .NET создает другой объект и выходит за пределы области видимости, будет ли сборщик мусора управлять этой памятью, даже если я использую указатель (*) и ключевое слово new, а НЕ gcnew и дескриптор (^).

6
задан James McNellis 6 April 2011 в 18:33
поделиться