ПЕРЕЛІК ДИСЦИПЛІН:
  • Адміністративне право
  • Арбітражний процес
  • Архітектура
  • Астрологія
  • Астрономія
  • Банківська справа
  • Безпека життєдіяльності
  • Біографії
  • Біологія
  • Біологія і хімія
  • Ботаніка та сільське гос-во
  • Бухгалтерський облік і аудит
  • Валютні відносини
  • Ветеринарія
  • Військова кафедра
  • Географія
  • Геодезія
  • Геологія
  • Етика
  • Держава і право
  • Цивільне право і процес
  • Діловодство
  • Гроші та кредит
  • Природничі науки
  • Журналістика
  • Екологія
  • Видавнича справа та поліграфія
  • Інвестиції
  • Іноземна мова
  • Інформатика
  • Інформатика, програмування
  • Юрист по наследству
  • Історичні особистості
  • Історія
  • Історія техніки
  • Кибернетика
  • Комунікації і зв'язок
  • Комп'ютерні науки
  • Косметологія
  • Короткий зміст творів
  • Криміналістика
  • Кримінологія
  • Криптология
  • Кулінарія
  • Культура і мистецтво
  • Культурологія
  • Російська література
  • Література і російська мова
  • Логіка
  • Логістика
  • Маркетинг
  • Математика
  • Медицина, здоров'я
  • Медичні науки
  • Міжнародне публічне право
  • Міжнародне приватне право
  • Міжнародні відносини
  • Менеджмент
  • Металургія
  • Москвоведение
  • Мовознавство
  • Музика
  • Муніципальне право
  • Податки, оподаткування
  •  
    Бесплатные рефераты
     

     

     

     

     

     

         
     
    Вільна Пам'ять
         

     

    Інформатика, програмування

    Вільна Пам'ять

    Якщо ви користувалися класом slist, ви могли виявити, що ваша програма витрачає на помітне час на розміщення та звільнення об'єктів класу slink. Клас slink - це чудовий приклад класу, який може значно виграти від того, що програміст візьме під контроль управління вільною пам'яттю. Для цього виду об'єктів ідеально підходить оптимізуючий метод. Оскільки кожен slink створюється за допомогою new і знищується за допомогою delete членами класу slist, інший спосіб виділення пам'яті не представляє ніяких проблем.

    Якщо похідний клас здійснює присвоювання вказівником this, то конструктор його базового класу буде викликатися тільки після цього привласнення, і значення вказівника this в конструкторі базового класу буде тим, яке присвоєно конструктором похідного класу. Якщо базовий клас присвоює вказівником this, то буде присвоєно те значення, яке використовує конструктор похідного класу.

    Наприклад:

    # include

    struct base (base (););

    struct derived: base (derived ();)

    base:: base ()

    (

    cout << "tbase 1: this =" <

    if (this == 0) this = (base *) 27;

    cout << "tbase 2: this =" <

    )

    derived:: derived ()

    (

    cout << "tderived 1: this =" <

    this = (this == 0)? (derived *) 43: this;

    cout << "tderived 2: this =" <

    )

    main ()

    (

    cout << "base b; n";

    base b;

    cout << "new base b; n";

    new base;

    cout << "derived d; n";

    derived d;

    cout << "new derived d; n";

    new derived;

    cout << "at the endn";

    )

    породжує висновок

    base b;

    base 1: this = 2147478307

    base 2: this = 2147478307

    new base;

    base 1: this = 0

    base 2: this = 27

    derived d;

    derived 1: this = 2147478306

    base 1: this = 2147478306

    base 2: this = 2147478306

    derived 1: this = 2147478306

    new derived;

    derived 1: this = 0

    base 1: this = 43

    base 2: this = 43

    derived 1: this = 43

    at the end

    Якщо деструктор похідного класу здійснює присвоювання вказівником this, то буде присвоєно те значення, яке зустрів деструктор його базового класу. Коли хто-небудь робить в конструкторі присвоювання вказівником this, важливо, щоб присвоювання вказівником this зустрічалося на всіх дорогах в конструкторі.

    Список літератури

    Для підготовки даної роботи були використані матеріали з сайту http://www.realcoding.net

         
     
         
    Реферат Банк
     
    Рефераты
     
    Бесплатные рефераты
     

     

     

     

     

     

     

     
     
     
      Все права защищены. Reff.net.ua - українські реферати ! DMCA.com Protection Status