C/C++ Ready | Программирование
11.6K subscribers
696 photos
41 videos
334 links
Авторский канал по разработке на C и C++.
Ресурсы, гайды, задачи, шпаргалки.
Информация ежедневно пополняется!

Автор: @energy_it

Реклама на бирже: https://telega.in/c/cpp_ready
加入频道
👩‍💻 Вспоминаем методы для контейнеров!

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

📣 C++ Ready | #шпора
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥22👍6🤝2
Знали, что многократное использование оператора new может привести к утечкам памяти?

Сегодня разберем одну важную тему — как избежать утечек памяти при динамическом выделении памяти с помощью оператора 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; // Указатель больше не указывает на освобожденную память


🔥 Поэтому, следите за тем, чтобы освобождать память и избегать двойного удаления!

📣 C++ Ready | #практика
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥18👍9🤝2
Новый мощный генератор видео, который позволит создавать целые фильмы без знаний в области монтажа и съёмки 😮

Интерфейс сервиса создан с акцентом на удобство пользователя: он включает в себя галерею, где можно хранить сохранённые проекты, а также возможность просматривать текстовые запросы, использованные другими пользователями.

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


А время генерации одного видео варьируется от 20 секунд до 2 минут в зависимости от выбранного качества.

И самое крутое, что уже каждый может попробовать создать свой шедевр, потому что я оставляю ссылочку — sora.com

📣 C++ Ready | #новость
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥1
📖 Хакинг на С++

Книга фокусируется на изучении основ программирования C++ с акцентом на выявление и эксплуатацию уязвимостей в программном обеспечении.

Автор: Ярошенко А.А.
Год: 2022


⬇️ Скачать книгу

📣 C++ Ready | #книга
Please open Telegram to view this post
VIEW IN TELEGRAM
😁9👍2🤝1
👩‍💻 Cортировка элементов в контейнере с помощью библиотеки <algorithm>

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

Основные алгоритмы:

• std::sort — сортирует элементы диапазона.

• std::find — ищет элемент в контейнере.

• std::reverse — переворачивает элементы диапазона.


📣 C++ Ready | #гайд
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++, которая может привести к неожиданным результатам.

Ошибки часто возникают, когда используем постфиксный инкремент, но хотим префиксный:
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


🔥 Так что, всегда учитывайте, что в постфиксной форме сначала возвращается старое значение, а в префиксной — сразу новое.


📣 C++ Ready | #практика
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥22👍7👎1
😄Нашел для вас полезную статью с Хабра, в которой вы узнаете, как вызвать функцию, имея только её имя в Unreal Engine

В этой статье:
• Примеры вызова функций
• Использование UFUNCTION и FFrame
• Работа CallFunction и парсинг аргументов

🔊 Так что советую прочитать каждому на Habr!


📣 C++ Ready | #статья
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥3
📖 Эффективное программирование на C++

Эта книга, в первую очередь, предназначена для тех, кому хотелось бы быстро научиться писать настоящие программы на языке C++

Автор: Эндрю Кёниг, Барбара Э
Год: 2002


⬇️ Скачать книгу

📣 C++ Ready | #книга
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🔥5👎1
Сегодня поговорим про компараторы — ключевой инструмент для сортировки в STL.

Это функции, которые задают правила сравнения элементов. Они позволяют сортировать данные не только по возрастанию, но и в произвольном порядке.

Для начала, напишем простую функцию-компаратор для сортировки по возрастанию:
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


🔥 Поэтому, всё это позволяет гибко управлять сортировкой и делать ваш код более выразительным для работы с данными.


📣 C++ Ready | #практика
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15🔥7