Урок по C++ №7, часть 2

В игре Source SDK
Забаненный
Статус
Оффлайн
Регистрация
10 Янв 2017
Сообщения
2,148
Реакции[?]
806
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Здравствуйте.
В это уроке:
1) new / delete

В этом уроке мы по говорим про динамическое выделение памяти. При объявление обычных статических переменных
Код:
int var = 6;
Она будет висеть в памяти с момента объявления до завершения процесса.
Пока программы у нас маленькие это не так страшно, но это не всегда так.

Синтаксис new:
Код:
type *name = new type;
Пример:
Код:
int *var = new int(5);
Тут мы в () сразу инициализовали переменную.
Но можно и просто сделать так:
Код:
int *var = new int;
cin >> *var;
Вот вам код для студии:
Код:
#include <iostream>
#include <stdio.h>
using namespace std;
int main()
{
setlocale(LC_ALL, "Russian");


int *var = new int;
cin >> *var;
cout << *var << endl;

delete var;

return 0;
}
Оператор delete удаляет переменную из памяти.

Далее мы поговорим о динамических массивах.
Код:
int *iArr = new int [10];
Массив из int в размере 10 ячеек.

Вот код для студии:
Код:
#include <iostream>
#include <stdio.h>

using namespace std;
int main()
{
setlocale(LC_ALL, "Russian");

int *arr = new int[5];

for (int i = 0; i < 5; i++)
{
cin >> arr[i];
}

cout << "--------------------\n";

for (int i = 0; i < 5; i++)
{
cout << arr[i] << " / ";
}

delete[] arr;

return 0;
}
При удаление массива нужно использовать delete[]

Ну в принципе всё. В следующем уроке:
1) enum

Удачи.

Задание создать и перебрать 2мерный массив с динамическим выделением
 
гейский анал
Участник
Статус
Оффлайн
Регистрация
12 Сен 2016
Сообщения
678
Реакции[?]
439
Поинты[?]
0
Го лучше урок по двумерным массивам и как например в них положить табличку умножения)
По мне так новичкам интересно буит
 
В игре Source SDK
Забаненный
Статус
Оффлайн
Регистрация
10 Янв 2017
Сообщения
2,148
Реакции[?]
806
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Я лучше тебя
Участник
Статус
Оффлайн
Регистрация
31 Июл 2017
Сообщения
383
Реакции[?]
448
Поинты[?]
1K
Оператор delete удаляет переменную из памяти.
нет. он освобождает память, выделенную с помощью оператора new возвращая ее в пул доступной памяти, так же, при вызове этого оператора, вызывается деструктор класса. (если он есть)
 
alive forever
Забаненный
Статус
Оффлайн
Регистрация
21 Июн 2017
Сообщения
663
Реакции[?]
400
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
нет. он освобождает память, выделенную с помощью оператора new возвращая ее в пул доступной памяти, так же, при вызове этого оператора, вызывается деструктор класса. (если он есть)
А еще он не сказал,почему с переменная с указателем создается)
 
Сверху Снизу