Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Industrial programming >> Язык C

Управление памятью C++:создание и удаление

Управление памятью C++:создание и удаление

В этом руководстве мы научимся эффективно управлять памятью в C++, используя операции создания и удаления с помощью примеров.

C++ позволяет нам выделять память для переменной или массива во время выполнения. Это известно как динамическое выделение памяти.

В других языках программирования, таких как Java и Python, компилятор автоматически управляет памятью, выделенной для переменных. Но это не так в C++.

В C++ нам нужно освободить динамически выделяемую память вручную после того, как переменная больше не нужна.

Мы можем динамически выделять, а затем освобождать память, используя 09 и 12 операторы соответственно.

<час>

Новый оператор C++

25 оператор выделяет память для переменной. Например,

06

Здесь у нас есть динамически выделенная память для 31 переменная с помощью 44 оператор.

Обратите внимание, что мы использовали указатель pointVar для динамического выделения памяти. Это связано с тем, что 52 оператор возвращает адрес ячейки памяти.

В случае массива 62 оператор возвращает адрес первого элемента массива.

Из приведенного выше примера видно, что синтаксис использования 77 оператор

15 <час> 

удалить оператора

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

Для этого 85 используется оператор. Он возвращает память операционной системе. Это называется освобождением памяти. .

Синтаксис этого оператора:

23

Рассмотрим код:

37

Здесь у нас есть динамически выделенная память для 95 переменная с помощью указателя pointVar .

После печати содержимого pointVar , мы освободили память с помощью 103 .

Примечание :если программа использует большой объем ненужной памяти с помощью 117 , система может выйти из строя из-за нехватки памяти для операционной системы. В этом случае 126 оператор может помочь системе избежать сбоя.

<час>

Пример 1. Динамическое выделение памяти C++

45

Вывод

54

В этой программе мы динамически выделили память для двух переменных 131 и 145 типы. После присвоения им значений и их печати мы, наконец, освобождаем память с помощью кода

66

Примечание. Динамическое выделение памяти может сделать управление памятью более эффективным.

Особенно для массивов, где во многих случаях мы не знаем размер массива до момента выполнения.

<час>

Пример 2. Оператор создания и удаления C++ для массивов

78

Вывод

85

В этой программе мы попросили пользователя ввести количество студентов и сохранить его в num. переменная.

Затем мы динамически выделили память для 150 массив с использованием new .

Мы вводим данные в массив (и позже печатаем их), используя нотацию указателя.

После того, как массив нам больше не нужен, мы освобождаем память массива с помощью кода 161 .

Обратите внимание на использование 170 после 182 . Мы используем квадратные скобки 193 чтобы обозначить, что освобождение памяти происходит из массива.

<час>

Пример 3. C++ оператор создания и удаления для объектов

95

Вывод

102

В этой программе мы создали 206 класс с закрытой переменной age .

Мы инициализировали age до 210 в конструкторе по умолчанию 220 и вывести его значение с помощью функции 232 .

В 244 , мы создали 253 объекта с помощью 269 оператора и используйте указатель ptr чтобы указать на его адрес.

В момент создания объекта 272 конструктор инициализирует age до 285 .

Затем мы вызываем 299 функция с помощью кода:

110

Обратите внимание на оператор стрелки 303. . Этот оператор используется для доступа к членам класса с помощью указателей.


Язык C

  1. Термины и концепции цифровой памяти
  2. Переменные C++, литералы и константы
  3. Классы и объекты С++
  4. Публичное, защищенное и частное наследование C++
  5. Дружественные функции C++ и дружественные классы
  6. Управление каталогами и файлами Python
  7. Структуры и классы в C ++
  8. НОВАЯ МОДЕЛЬ B + МАЛИНЫ PI 3 ФУНКЦИИ И ПОКУПКА
  9. GE Digital запускает новое программное обеспечение для управления активами
  10. Новые роботы:экономичные и первоклассные