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

Автор: @energy_it

Реклама на бирже: https://telega.in/c/cpp_ready
加入频道
👩‍💻 Ссылки и указатели: Что к чему?

1. Указатели: Где живут данные
— это такие "хитрые" переменные, которые хранят не данные, а адреса других переменных:
int x = 10;
int* ptr = &a; // ptr хранит адрес переменной a


2. Ссылки: Удобные "алиасы" — нечто вроде альтернативных имён для переменных. Позволяют обращаться к одной и той же переменной под разными именами:
int& ref = x; // ref — это просто другое имя для переменной x


3. Указатели против ссылок — Вот в чём интересная штука: указатели могут быть неинициализированными или "нулевыми", что указывает на отсутствие адреса.

А вот ссылки такого себе позволить не могут. Ссылку обязательно нужно сразу инициализировать и после этого она не может быть переназначена на что-то другое:
int* ptr2 = nullptr; // указатель может быть пустым
// int& ref2; // ошибка, ссылку нельзя оставить неинициализированной


4. Указатели и ссылки в функциях —когда вы передаёте аргументы в функции, указатели и ссылки позволяют не копировать переменные, а передавать их адреса или алиасы:
void increment(int* ptr) {
(*ptr)++; // изменение значения по указателю
}
increment(&a); // передаём адрес переменной a


📣 C++ Ready | #техсобес
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥23👍6🤝3
📖 Контролируемый взлом

Книга предназначена как для профессионалов в области информационной безопасности, так и для широкой аудитории, интересующейся темой киберугроз и защиты данных

Автор: Юрий Другач
Год: 2024


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

📣 C++ Ready | #книга
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7👍1👎1
👩‍💻 Давайте рассмотрим шаблоны!

Летс го, в этом посте изучим использование C++ шаблонов, которые позволяют создавать универсальные функции и классы. Вы узнаете про:

- Шаблон для нахождения максимума
- Шаблон класса для контейнера
- Шаблон с несколькими параметрами


🔥 — если узнал новое
🤝 если уже пользовался

📣 C++ Ready | #гайд
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥29🤝12👍4
This media is not supported in your browser
VIEW IN TELEGRAM
Посоветую вам очередную интересную платформу — Codingame

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

📌 Ссылочка: codingame.com

📣 C++ Ready | #ресурс
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥3🤝2
Что будет в консоли?
Anonymous Quiz
53%
A
26%
B
5%
C
17%
D
👍12🔥3
Знали что, многие допускают ошибку при использовании оператора delete?

Сегодня как раз ее разберем. Распространенную ошибку в C++ при работе с операторами delete и delete[], она может привести к сбоям программы и утечкам памяти:

Операторы delete и delete[] предназначены для освобождения памяти, выделенной с помощью new и new[] соответственно. Часто можно столкнуться с ошибками, если перепутать эти операторы:
int* ptr = new int[5];  // Выделили память для массива
delete ptr; // Ошибка! Использован неправильный оператор


Для освобождения памяти, выделенной с помощью new[], нужно использовать delete[].

Правильное использование delete[]:
int* ptr = new int[5];  // Выделили память для массива
delete[] ptr; // Правильно освобождаем память


Другой распространенный случай — удаление одной и той же памяти дважды. Это может привести к неопределенному поведению:
int* ptr = new int[5];
delete[] ptr; // Освободили память
delete[] ptr; // Ошибка: память уже освобождена


Установить указатель в nullptr
После того как память освобождена, всегда обнуляйте указатель:
int* ptr = new int[5];
delete[] ptr;
ptr = nullptr; // Указатель больше не указывает на освобожденную память


🔥 Правильное использование этих операторов — ключ к предотвращению утечек памяти и ошибок в управлении памятью.

Всегда следите за тем, какой тип памяти вы освобождаете, и избегайте двойного удаления.

📣 C++ Ready | #практика
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥23👍13🤝41
👩‍💻 Рассмотрим создание системы отслеживания задач

В этом посте мы создадим систему отслеживания задач с использованием очереди с приоритетами.

- Создание структуры задачи
- Добавление задачи в очередь
- Выполнение задачи
- Основная программа


🔥 — если узнал новое
🤝 если уже пользовался

📣 C++ Ready | #гайд
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥26🤝7👍5
👩‍💻 Вспомним методы строк в плюсах

В этой шпаргалке мы рассмотрели методы работы со строками в C++, которые помогут вам при написании кода

📣 C++ Ready | #шпора
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥23👍8