C++ .NET сборка мусора
Пользователи, просматривающие топик: none
|
Зашли как: Guest
|
Имя |
Сообщение |
<< Старые топики Новые топики >> |
|
|
C++ .NET сборка мусора - 2012-04-27 20:16:56.756666
|
|
|
Zmaster_
Сообщений: 10
Оценки: 0
Присоединился: 2012-04-26 13:40:51.550000
|
Есть класс типа этого:
ref struct MyStruct
{
array<Byte>^a;
MyStruct()
{
a=gcnew array<Byte>[4];
}
}
ref class MyClass
{
MyStruct^ s;
public:
MyClass()
{
s=gcnew MyStruct();
}
Void Action()
{
MyStruct->a[0]='A';
}
}; Память под структуру в конструкторе выделилась. Когда выхожу за пределы конструктора, например вызываю функцию Action, ссылка на объект (структуру) пропадает. Думаю, что это сборщик мусора решил что объект больше не нужен и удалил его. Как решить данную проблему, как сказать сборщику мусора, что эту структуру не трогать, когда захочу, тогда и удалю.
|
|
|
RE: C++ .NET сборка мусора - 2012-04-28 13:01:31.420000
|
|
|
_SaZ_
Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
|
Читай книжки по основам .NET. Память для структуры выделяется на стэке и соответственно, освобождается при выходе за область видимости. Память для класса выделяется в куче. ref struct MyStruct замени на ref class MyStruct { public:
|
|
|
RE: C++ .NET сборка мусора - 2012-04-28 15:24:27.130000
|
|
|
_SaZ_
Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
|
Хотя возможно, что я туплю.
|
|
|
RE: C++ .NET сборка мусора - 2012-04-29 04:24:11.096666
|
|
|
Genco
Сообщений: 1662
Оценки: 90
Присоединился: 2007-12-16 23:11:22.003333
|
… а ещё есть подозрение, что спасет обычный "new", но тоже не факт, не проверял.
|
|
|
RE: C++ .NET сборка мусора - 2012-04-29 15:49:56.746666
|
|
|
_SaZ_
Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
|
Нет, обычный new там не нужен. Где именно и как падает?
|
|
|
RE: C++ .NET сборка мусора - 2012-05-07 12:56:22.013333
|
|
|
mishok
Сообщений: 239
Оценки: 0
Присоединился: 2007-07-03 23:42:21.170000
|
а в .net разве не реализован автоматический сборщик мусора?
|
|
|
RE: C++ .NET сборка мусора - 2012-05-07 14:26:49.596666
|
|
|
_SaZ_
Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
|
Причём тут сборщик мусора?
|
|
|
|
|