Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in /home/studb20/public_html/index.php on line 4
 2.2.9 Оператори розподілу пам’яті - Програмування С, С++теорія та практика (частина 2) - Studbook
Главная->Інформатика та програмування->Содержание->2.2.9 Оператори розподілу пам’яті

Програмування С, С++теорія та практика (частина 2)

2.2.9 Оператори розподілу пам’яті

Для керування розподілом динамічної пам’яті в Сі++ широко використовуються оператори пею та йеіеіе. Вони замінюють відомі нам з мови Сі тиііос, саііос, /гее, проте це не означає, що всі вони не можуть використовуватися у Сі++. Уся справа саме у гнучкості нових операторів: пем> повертає покажчик на тип, для якого виділяється пам’ять, в той час як таІІос повертає порожній покажчик, тому у першому випадку відпадає необхідність використовувати перетворення типу. Крім того, гнучкість нових операторів очевидна саме при використанні класів, оскільки клас може визначити власний варіант цих операцій (наприклад, у процедурах ініціалізації та очистки), про що йтиметься далі.

Отже, оператор пем>(іуре) повертає покажчик на тип іуре, для якого виділяється пам’ять. Наступні рядки використовують цей оператор:

£1оа£ *р=пем £Іоаї;

йоиЬІе *аггау=пем £1оа^[10];

Оператор йеІеіе(уаг), навпаки, звільняє відповідну ділянку динамічної пам’яті. Застосування його до попередньо визначених змінних матиме вигляд: йеІе'Ье р;

гіеІе'Ье аггау; // або йе1е^е[10] аггау;

Примітка. Не слід викликати вперемішку функції розподілу пам'яті АШ8І С та С++ - у багатьох випадках робота програми завершується аварійно.

 

13