Подпишитесь на наш Telegram-канал, чтобы всегда быть в курсе важных обновлений! Перейти

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

  • Автор темы Автор темы P45H3
  • Дата начала Дата начала
В игре Source SDK
Забаненный
Забаненный
Статус
Оффлайн
Регистрация
10 Янв 2017
Сообщения
2,188
Реакции
806
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Здравствуйте.
В это уроке:
1) new / delete

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

Синтаксис new:
Код:
Expand Collapse Copy
type *name = new type;

Пример:
Код:
Expand Collapse Copy
int *var = new int(5);
Тут мы в () сразу инициализовали переменную.
Но можно и просто сделать так:
Код:
Expand Collapse Copy
int *var = new int;
cin >> *var;

Вот вам код для студии:
Код:
Expand Collapse Copy
#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 удаляет переменную из памяти.

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

Вот код для студии:
Код:
Expand Collapse Copy
#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мерный массив с динамическим выделением
 
Го лучше урок по двумерным массивам и как например в них положить табличку умножения)
По мне так новичкам интересно буит
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Для чего нужны массивы?
 
Оператор delete удаляет переменную из памяти.
нет. он освобождает память, выделенную с помощью оператора new возвращая ее в пул доступной памяти, так же, при вызове этого оператора, вызывается деструктор класса. (если он есть)
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
нет. он освобождает память, выделенную с помощью оператора new возвращая ее в пул доступной памяти, так же, при вызове этого оператора, вызывается деструктор класса. (если он есть)
А еще он не сказал,почему с переменная с указателем создается)
 
Назад
Сверху Снизу