Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥22👍6🤝2
Знали, что многократное использование оператора new может привести к утечкам памяти?
Сегодня разберем одну важную тему — как избежать утечек памяти при динамическом выделении памяти с помощью оператора
В C++ для выделения памяти в динамической области используется оператор
Однако если мы не освободим память после использования, она останется в памяти, что приведет к утечке. Чтобы избежать этого, необходимо использовать оператор
Покажу вам простой пример ошибки при пропуске оператора
Другая распространенная ошибка — это попытка освободить память дважды:
Такое поведение приводит к неопределенному поведению программы. Для предотвращения нужно обнулять указатель после освобождения памяти:
🔥 Поэтому, следите за тем, чтобы освобождать память и избегать двойного удаления!
📣 C++ Ready | #практика
Сегодня разберем одну важную тему — как избежать утечек памяти при динамическом выделении памяти с помощью оператора
new
.В C++ для выделения памяти в динамической области используется оператор
new
:int* ptr = new int(10); // Выделение памяти для одного целого числа
Однако если мы не освободим память после использования, она останется в памяти, что приведет к утечке. Чтобы избежать этого, необходимо использовать оператор
delete
:delete ptr; // Освобождаем память
Покажу вам простой пример ошибки при пропуске оператора
delete
int* ptr = new int(10); // Выделили память
// Но забыли освободить ее
Другая распространенная ошибка — это попытка освободить память дважды:
int* ptr = new int(10);
delete ptr; // Освободили память
delete ptr; // Ошибка: пытаемся освободить память снова
Такое поведение приводит к неопределенному поведению программы. Для предотвращения нужно обнулять указатель после освобождения памяти:
delete ptr;
ptr = nullptr; // Указатель больше не указывает на освобожденную память
🔥 Поэтому, следите за тем, чтобы освобождать память и избегать двойного удаления!
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥18👍9🤝2
Новый мощный генератор видео, который позволит создавать целые фильмы без знаний в области монтажа и съёмки 😮
Интерфейс сервиса создан с акцентом на удобство пользователя: он включает в себя галерею, где можно хранить сохранённые проекты, а также возможность просматривать текстовые запросы, использованные другими пользователями.
А время генерации одного видео варьируется от 20 секунд до 2 минут в зависимости от выбранного качества.
И самое крутое, что уже каждый может попробовать создать свой шедевр, потому что я оставляю ссылочку — sora.com
📣 C++ Ready | #новость
Интерфейс сервиса создан с акцентом на удобство пользователя: он включает в себя галерею, где можно хранить сохранённые проекты, а также возможность просматривать текстовые запросы, использованные другими пользователями.
Все готовые видеоролики могут быть доработаны с помощью запросов, можно вносить изменения и улучшения в свои работы даже после первоначального создания.
А время генерации одного видео варьируется от 20 секунд до 2 минут в зависимости от выбранного качества.
И самое крутое, что уже каждый может попробовать создать свой шедевр, потому что я оставляю ссылочку — sora.com
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥1
📖 Хакинг на С++
⬇️ Скачать книгу
📣 C++ Ready | #книга
Книга фокусируется на изучении основ программирования C++ с акцентом на выявление и эксплуатацию уязвимостей в программном обеспечении.
Автор: Ярошенко А.А.
Год: 2022
Please open Telegram to view this post
VIEW IN TELEGRAM
😁9👍2🤝1
Которая предоставляет набор стандартных алгоритмов для работы с контейнерами, такими как массивы, векторы и другие последовательности, включает множество полезных инструментов для обработки данных.
Основные алгоритмы:
• std::sort — сортирует элементы диапазона.
• std::find — ищет элемент в контейнере.
• std::reverse — переворачивает элементы диапазона.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥12🤝9👍5
This media is not supported in your browser
VIEW IN TELEGRAM
СodeRun — платформа для решения задач от Яндекса. Все задачи распределены по множество направлений и их можно решать на разных языках, включая C++.
📌 Ссылочка: coderun.yandex.ru
📣 C++ Ready | #ресурс
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥11👍2
Знали, что неправильное использование оператора инкремента ++ может привести к ошибкам?
Сегодня как раз разберем популярную ошибку, связанную с оператором инкремента в C++, которая может привести к неожиданным результатам.
Ошибки часто возникают, когда используем постфиксный инкремент, но хотим префиксный:
Поэтому, если нужно сразу получить новое значение переменной, юзаем префиксную форму:
И напоследок скажу, что если не важно, когда именно увеличивать переменную, то конечно уже можем использовать постфиксную форму:
🔥 Так что, всегда учитывайте, что в постфиксной форме сначала возвращается старое значение, а в префиксной — сразу новое.
📣 C++ Ready | #практика
Сегодня как раз разберем популярную ошибку, связанную с оператором инкремента в C++, которая может привести к неожиданным результатам.
Ошибки часто возникают, когда используем постфиксный инкремент, но хотим префиксный:
int x = 5;
int y = x++; // y = 5, x = 6
std::cout << y; // Выведет 5, а не 6
Поэтому, если нужно сразу получить новое значение переменной, юзаем префиксную форму:
int x = 5;
int y = ++x; // y = 6, x = 6
std::cout << y; // Выведет 6
И напоследок скажу, что если не важно, когда именно увеличивать переменную, то конечно уже можем использовать постфиксную форму:
int x = 5;
x++; // Просто увеличим x на 1
std::cout << x; // Выведет 6
🔥 Так что, всегда учитывайте, что в постфиксной форме сначала возвращается старое значение, а в префиксной — сразу новое.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥22👍7👎1
📖 Эффективное программирование на C++
⬇️ Скачать книгу
📣 C++ Ready | #книга
Эта книга, в первую очередь, предназначена для тех, кому хотелось бы быстро научиться писать настоящие программы на языке C++
Автор: Эндрю Кёниг, Барбара Э
Год: 2002
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🔥5👎1
Сегодня поговорим про компараторы — ключевой инструмент для сортировки в STL.
Это функции, которые задают правила сравнения элементов. Они позволяют сортировать данные не только по возрастанию, но и в произвольном порядке.
Для начала, напишем простую функцию-компаратор для сортировки по возрастанию:
И также используем этот компаратор для сортировки вектора:
Однако, если компаратор нужен только один раз, лучше использовать лямбда-функцию. Например, чтобы отсортировать данные по убыванию:
🔥 Поэтому, всё это позволяет гибко управлять сортировкой и делать ваш код более выразительным для работы с данными.
📣 C++ Ready | #практика
Это функции, которые задают правила сравнения элементов. Они позволяют сортировать данные не только по возрастанию, но и в произвольном порядке.
Для начала, напишем простую функцию-компаратор для сортировки по возрастанию:
bool compare(int a, int b) {
return a < b; // Возвращает true, если a меньше b
}
И также используем этот компаратор для сортировки вектора:
std::vector<int> vec = {5, 3, 8, 1, 2};
std::sort(vec.begin(), vec.end(), compare);
// Теперь vec содержит: 1, 2, 3, 5, 8
Однако, если компаратор нужен только один раз, лучше использовать лямбда-функцию. Например, чтобы отсортировать данные по убыванию:
std::sort(vec.begin(), vec.end(), [](int a, int b) {
return a > b; // Сортировка по убыванию
});
// Теперь vec содержит: 8, 5, 3, 2, 1
🔥 Поэтому, всё это позволяет гибко управлять сортировкой и делать ваш код более выразительным для работы с данными.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15🔥7