Коллеги, доброе!)
Сегодня мы поговорим про оператор new в c++.
И поймём практическое применение указателей и ссылок.
Ответ на вчерашний последний вопрос:
sizeof() - функция, возвращающая количество байт, занимаемое указанным значением.
Указатель хранит значение адреса, а количество байт, выделяемое для адреса ячейки зависит от разрядности системы. (для x64 - 64 бита, т.е. 8 байт, а для x86 - 32 бита, т.е. 4 байта)
Сегодня мы поговорим про оператор new в c++.
И поймём практическое применение указателей и ссылок.
Ответ на вчерашний последний вопрос:
Указатель хранит значение адреса, а количество байт, выделяемое для адреса ячейки зависит от разрядности системы. (для x64 - 64 бита, т.е. 8 байт, а для x86 - 32 бита, т.е. 4 байта)
👍3😁1🤣1
Сегодня рассказал тему в аудио сообщении)
👍6
void f(int* array) {
int* buf = new int[4];
for (int i = 0; i < 3; i++) {
buf[i] = array[i]+1;
}
delete[]array;
array = buf;
}
int main(){
int* array = new int[3];
for (int i = 0; i < 3; i++) {
array[i] = i;
}
f(array);
std::cout << array[2];
}
🔥1
Что вы ведется на экран ``` char str[] = "qwerty"; cout << sizeof(str); ```
Anonymous Quiz
39%
6
4%
ошибка
11%
qwerty
39%
7
7%
1
int array[3][2] = { {1,2},{3,4},{5,6} };
for (int i = 0; i < 2; i++) {
for (int j = 2; j >= 0; j--) {
std::cout << array[i][j]<<" ";
}
std::cout << " : ";
}
👍1
Что выведется на экран? (почему пишите в комментариях)
Anonymous Quiz
36%
3 2 1 : 5 4 3 :
45%
мусор 2 1 :мусор 4 3 :
5%
2 1 : 4 3 :
0%
1 2 : 3 4 : 5 6 :
14%
3 4 : 1 2 :
0%
4 3 : 2 1 :
🔥2
Случайно снёс все последнии комментарии 😱😵
😨3
Вопрос 1. Какое направление в веб-разработке вас интересует в большей степени?
Anonymous Poll
41%
Backend
21%
Frontend
38%
Fullstack
Вопрос 2. На днях я отвечал на вопросы в аудио формате. Насколько хорошо воспринимается материал в таком виде?
Anonymous Poll
44%
Отлично
39%
Хорошо
17%
Плохо
Всем, привет. Давайте поговорим про оператор new.
В C++ он используется для динамического выделения памяти в heap.
Зачем динамическая область памяти?
Все очень просто. Если вы создаёте статический массив, то обязаны использовать константное значение для указания его размера, но мы не всегда знаем заранее какое количество элементов будет в массиве. Тут на помощь приходит new.
Помимо массива мы можем использовать new и для одиночных объектов. Разберём подробнее.
1. Выделение памяти под одиночный объект:
где
2. Выделение памяти под массив объектов:
где
Для освобождения памяти, выделенной оператором
Оператор
В современном C++ также рекомендуется использовать умные указатели, такие как
В C++ он используется для динамического выделения памяти в heap.
Зачем динамическая область памяти?
Все очень просто. Если вы создаёте статический массив, то обязаны использовать константное значение для указания его размера, но мы не всегда знаем заранее какое количество элементов будет в массиве. Тут на помощь приходит new.
Помимо массива мы можем использовать new и для одиночных объектов. Разберём подробнее.
1. Выделение памяти под одиночный объект:
T* ptr = new T;
где
T
- тип данных, под который выделяется память, а ptr
- указатель на этот объект.2. Выделение памяти под массив объектов:
T* arr = new T[size];
где
T
- тип данных, а size
- количество элементов в массиве.Для освобождения памяти, выделенной оператором
new
, используется оператор delete
для одиночного объекта и delete[]
для массива объектов:delete ptr; // освобождение памяти одиночного объекта
delete[] arr; // освобождение памяти массива объектов
Оператор
new
и оператор delete
требуют осторожного использования, так как неправильное управление памятью может привести к утечкам памяти. В современном C++ также рекомендуется использовать умные указатели, такие как
std::unique_ptr
и std::shared_ptr
, для более безопасного управления динамической памятью.👍4🔥3
Задача 1: Палиндром
(Уровень - лёгкий)
Дано целое число
Примеры:
⬇️ Решение пишите в комментариях. ⬇️
(Уровень - лёгкий)
Дано целое число
x
, вернуть true
, если число является палиндромом. Палиндром — это число, которое читается одинаково как слева направо, так и справа налево. Например, 121
— палиндром, а 123
— нет.Примеры:
Input: x = 121
Output: true
Input: x = -121
Output: false
Explanation: Символ минус делает число не палиндромом.
Input: x = 10
Output: false
Explanation: Поскольку ноль в конце числа, оно не является палиндромом.
⬇️ Решение пишите в комментариях. ⬇️
👀1
Задача 2: Наибольшая возрастающая подпоследовательность
(Уровень - сложный)
Описание задачи:
Дан массив целых чисел. Найти длину наибольшей возрастающей подпоследовательности (не обязательно подряд идущих элементов).
Пример:
⬇️ Решение пишите в комментариях. ⬇️
(Уровень - сложный)
Описание задачи:
Дан массив целых чисел. Найти длину наибольшей возрастающей подпоследовательности (не обязательно подряд идущих элементов).
Пример:
Input: [10, 9, 2, 5, 3, 7, 101, 18]
Output: 4
Explanation: Наибольшая возрастающая подпоследовательность: [2, 3, 7, 101], длина = 4
Другие возрастающие подпоследовательности данного массива:
10, 101
10, 18
9, 101
9, 18
2, 5, 7, 101
2, 5, 7, 18
и т.д.
⬇️ Решение пишите в комментариях. ⬇️
Доброе утро!)
Вот есть такой мемчик, и напрашивается вопрос. А почему так? Почему в ру сегменте не так много годного контента по java? Думаю стоит исправлять эту проблему. Посмотрим как пойдет) Для меня это будет новый опыт и можно будет назвать это неким "вызовом")) А пока поговорим о грядущих темах. На этой неделе поговорим про девопс.
Вот есть такой мемчик, и напрашивается вопрос. А почему так? Почему в ру сегменте не так много годного контента по java? Думаю стоит исправлять эту проблему. Посмотрим как пойдет) Для меня это будет новый опыт и можно будет назвать это неким "вызовом")) А пока поговорим о грядущих темах. На этой неделе поговорим про девопс.
🔥3🤓3👏1
Всем, привет!
Для начала, давайте поговорим про профессию DevOps.
Иногда говорят что DevOps это по модному сис. админ. И да и нет.
Что делает сис. админ?
- обновление и установка ПО
- инвентаризация
- настройка и поддержка сети, серверов
- настройка, подключение и поддержка видеонаблюдения
- настройка и поддержание стабильной работы всей it-инфраструктуры компании
Что делает DevOps?
- основная задача - это автоматизация процесса разработки, тестирования и развертывания приложения
(данный процесс включает в себя достаточно обширный список задач и компетенций)
Для начала, давайте поговорим про профессию DevOps.
Иногда говорят что DevOps это по модному сис. админ. И да и нет.
Что делает сис. админ?
- обновление и установка ПО
- инвентаризация
- настройка и поддержка сети, серверов
- настройка, подключение и поддержка видеонаблюдения
- настройка и поддержание стабильной работы всей it-инфраструктуры компании
Что делает DevOps?
- основная задача - это автоматизация процесса разработки, тестирования и развертывания приложения
(данный процесс включает в себя достаточно обширный список задач и компетенций)
🔥3👍2