Media is too big
VIEW IN TELEGRAM
Modern C++ Tricks — это репозиторий, содержащий коллекцию полезных трюков, приёмов и примеров кода для более эффективного и современного использования возможностей языка C++11 и выше.
📣 C++ Ready | #репозиторий
📌 Ссылочка на репозиторий: Github😸
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🔥6
std::vector — один из самых полезных контейнеров в стандартной библиотеке C++, который предоставляет возможность работы с динамическими массивами. В отличие от обычных массивов, вектор автоматически изменяет свой размер при добавлении или удалении элементов.
• Позволяет добавлять или удалять элементы без необходимости перераспределять память.
• Элементы вектора можно обрабатывать так же, как и элементы обычного массива.
• Встроенные методы для работы с данными, такие как добавление, удаление и перебор элементов.
🔥 — если узнал новое
🤝 — если уже пользовался
Please open Telegram to view this post
VIEW IN TELEGRAM
🤝68🔥45👍4❤1
Они позволяют создавать функции, которые могут принимать параметры различных типов. При вызове функции компилятор генерирует конкретную версию функции для каждого типа.
Вот общий синтаксис для объявления шаблона функции:
template <typename T>
T functionName(T parameter1, T parameter2) {
// Тело функции
}
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥31👍16🤝4
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥67🤝21👍7
Конструкторы и деструкторы — это специальные методы, которые управляют инициализацией и уничтожением объектов, обеспечивая корректное управление ресурсами.
• Конструктор автоматически вызывается при создании объекта класса. Его основная задача — инициализация данных объекта.
• Деструктор — автоматически вызывается при уничтожении объекта. Его основная задача — освобождение ресурсов, таких как динамически выделенная память.
🔥 — если узнал новое
🤝 — если уже пользовался
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥46🤝40
📖 Грокаем стриминг
⬇️ Скачать книгу
📣 C++ Ready | #книга
Практическое руководство по созданию высоконагруженных систем потоковой обработки данных с акцентом на масштабируемость и надежность.Автор: Джош Фишер
Год: 2023
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥15👍4
•
empty() — проверяет, пуст ли контейнер, возвращая true, если он пуст, и false, если содержит элементы.•
size() — возвращает количество элементов в контейнере, таком как вектор, и используется для определения его текущей длины.🔥 — если узнал новое
🤝 — если уже пользовался
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🤝52🔥24
📖 C++ 20 для программистов
⬇️ Скачать книгу
📣 C++ Ready | #книга
Исчерпывающий ресурс, который освещает нововведения и особенности C++ 20, предлагая практические примеры и углубленный анализ для опытных программистов, желающих освоить современные методы программирования.Автор: Дейтел Пол
Год: 2024
Please open Telegram to view this post
VIEW IN TELEGRAM
👍17🔥5
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); // передаём адрес переменной aPlease open Telegram to view this post
VIEW IN TELEGRAM
👍30🔥12🤝6❤1👎1