???
Математика на уровне МГУ

Показано с 1 по 25 из 789

Тема: Вопросы.

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1
    hehehe 111 Аватар для podvoxx
    Регистрация
    25.08.2008
    Адрес
    Барнаул - Питер
    Возраст
    41
    Сообщений
    4,245

    Re: Вопросы.

    Еще вопрос, скорее уже NET больше касается. Чем больше добавляю кода, тем больше беспокоюсь
    Создается много классов и переменных, многие из которых используются один раз или ограниченное кол-во времени. Они куда деваются потом? Вроде читал, что есть какой-то сборщик мусора, который очищает память от неиспользуемых данных. Есть еще деструкторы, но не уверен что правильно понял их назначение(и вроде как их использовать с умом надо). Или это особого значения не имеет?
    Ресурсов сервер с миссией ест не много вроде.

  2. #2

    Re: Вопросы.

    Цитата Сообщение от podvoxx Посмотреть сообщение
    Еще вопрос, скорее уже NET больше касается. Чем больше добавляю кода, тем больше беспокоюсь
    Создается много классов и переменных, многие из которых используются один раз или ограниченное кол-во времени. Они куда деваются потом? Вроде читал, что есть какой-то сборщик мусора, который очищает память от неиспользуемых данных. Есть еще деструкторы, но не уверен что правильно понял их назначение(и вроде как их использовать с умом надо). Или это особого значения не имеет?
    Ресурсов сервер с миссией ест не много вроде.
    GS вообще тема достаточно сложная и неоднозначная. Имхо пока достаточно знать, что все объекты, на которые не осталось ссылок в видимой области, рано или поздно будут уничтожены без твоего вмешательства. Если класс не реализует IDisposable, в общем случае можно быть спокойным, какие-то специальные действия по его уборке не требуются.
    Если реализует, то вполне достаточно делать так
    using (DisposableObject obj = new DisposableObject())
    {
    obj.SomeMetod();
    // какой-то код
    }

    По выходу за блок using на объекте будет вызван Dispose(), дальше его сборщик приберет.

    Ну и в нашем случае, если ты объект не создавал, то не тебе его диспозить.

  3. #3
    hehehe 111 Аватар для podvoxx
    Регистрация
    25.08.2008
    Адрес
    Барнаул - Питер
    Возраст
    41
    Сообщений
    4,245

    Re: Вопросы.

    Цитата Сообщение от Small_Bee Посмотреть сообщение
    GS вообще тема достаточно сложная и неоднозначная. Имхо пока достаточно знать, что все объекты, на которые не осталось ссылок в видимой области, рано или поздно будут уничтожены без твоего вмешательства. Если класс не реализует IDisposable, в общем случае можно быть спокойным, какие-то специальные действия по его уборке не требуются.
    Если реализует, то вполне достаточно делать так
    using (DisposableObject obj = new DisposableObject())
    {
    obj.SomeMetod();
    // какой-то код
    }

    По выходу за блок using на объекте будет вызван Dispose(), дальше его сборщик приберет.

    Ну и в нашем случае, если ты объект не создавал, то не тебе его диспозить.
    Ну и отлично. Но на всякий случай уточню.
    Создаем два экземпляра класса Airfield:

    Код:
    Airfield zzz;
    
    Airfield xxx = new Airfield();
    zzz = xxx;
    
    Airfield yyy = new Airfield();
    zzz = yyy;
    Класс xxx будет сборщиком собран из-за смены ссылки zzz на другой экземляр?

  4. #4

    Re: Вопросы.

    Цитата Сообщение от podvoxx Посмотреть сообщение
    Ну и отлично. Но на всякий случай уточню.
    Создаем два экземпляра класса Airfield:

    Код:
    Airfield zzz;
    
    Airfield xxx = new Airfield();
    zzz = xxx;
    
    Airfield yyy = new Airfield();
    zzz = yyy;
    Класс xxx будет сборщиком собран из-за смены ссылки zzz на другой экземляр?
    Если это кусок метода, то собраны будут оба после выхода за метод. )
    Если zzz за пределами метода (скажем поле того же класса, где и метод), то явно, что при выходе за метод на на xxx ссылок больше нет, и он будет собран.

  5. #5
    hehehe 111 Аватар для podvoxx
    Регистрация
    25.08.2008
    Адрес
    Барнаул - Питер
    Возраст
    41
    Сообщений
    4,245

    Re: Вопросы.

    Цитата Сообщение от Small_Bee Посмотреть сообщение
    Если это кусок метода, то собраны будут оба после выхода за метод. )
    Если zzz за пределами метода (скажем поле того же класса, где и метод), то явно, что при выходе за метод на на xxx ссылок больше нет, и он будет собран.
    Спасибо, ясно. Надеюсь сиквел на с++ не будут переделывать, смотрел тут старые скрипты для армы, не хочу такой гибкости)) Хочу ставить точку и выбирать нужную строчку

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •