Telegram Web
🤔 Что такое move семантика и как её использовать?

Move-семантика в C++ позволяет избежать копирования объектов путём передачи ресурсов от одного объекта к другому. Используется для оптимизации производительности при работе с временными объектами или большими структурами данных. Она реализуется с помощью rvalue-ссылок и специального конструктора перемещения. Move-семантику следует использовать, когда требуется передать владение ресурсами, например, в контейнерах стандартной библиотеки, чтобы минимизировать накладные расходы на копирование.

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
🤔 Как вызвать pure virtual call?

Вызов pure virtual function call (std::terminate()) возможен в двух случаях:
1. Вызов чисто виртуальной функции из конструктора или деструктора базового класса (так как объект еще не или уже не принадлежит производному классу).
2. Вызов метода через удаленный объект (разыменование нулевого указателя на объект с виртуальными методами).


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
🤔 Какие есть типы мьютексов?

1. std::mutex: базовый мьютекс для синхронизации.
2. std::recursive_mutex: позволяет одному потоку многократно блокировать мьютекс.
3. std::timed_mutex: поддерживает блокировку с тайм-аутом.
4. std::shared_mutex: позволяет совместный доступ для чтения и эксклюзивный доступ для записи.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2
🤔 Unordered_set, unordered_map и set, map чем отличаются?

1. Set/Map: элементы хранятся в отсортированном порядке, используются бинарные деревья (обычно красно-чёрные).
2. Unordered_set/Unordered_map: элементы не сортируются, используют хеш-таблицы для быстрого доступа.
3. Set и Map медленнее на вставке/поиске (O(log N)), но позволяют итерировать в отсортированном порядке.
4. Unordered_set и Unordered_map быстрее для поиска (O(1) в среднем), но не поддерживают упорядоченный доступ.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Forwarded from easyoffer
🎉 easyoffer 2.0 — релиз уже в этом месяце!

Вас ждут новые фичи, о которых мы ранее даже не упоминали. Они сделают путь к офферам ещё быстрее и эффективнее. Расскажу о них чуть позже 👀

В честь запуска мы готовим ограниченную акцию:

Первые 500 покупателей получат:
🚀 PRO тариф на 1 год с 50% скидкой

Что нужно сделать:

🔔 Подпишитесь на этот Telegram-канал, чтобы первыми узнать о старте релиза. Сообщение появится в нем раньше, чем где-либо еще — вы успеете попасть в число первых 500 и получить максимальную выгоду. 🎁 А еще только для подписчиков канала ценный бонус в подарок к PRO тарифу.

📅 Официальный запуск — уже совсем скоро.
Следите за новостями и не пропустите старт!
🤔 Сложность удаление из конца у vector?

Удаление элемента из конца vector выполняется за O(1), поскольку не требуется сдвигать элементы. Это делает vector эффективным для операций добавления и удаления в конце. Операции вставки и удаления в конце vector работают за постоянное время, если не требуется перераспределение памяти.

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
🤔 У shared_ptr только один счетчик ссылок или их несколько?

`shared_ptr` использует два счетчика: один для отслеживания количества ссылок на объект (счетчик владения), и другой для отслеживания количества слабых ссылок (`weak_ptr`). Счетчик владения увеличивается при создании нового `shared_ptr` и уменьшается при его уничтожении. Когда счетчик владения достигает нуля, объект освобождается, а счетчик слабых ссылок продолжает существовать, пока есть активные `weak_ptr`. Это обеспечивает корректное управление памятью и безопасное использование указателей.

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
🤔 Что возвращает new?

Оператор new возвращает указатель на участок памяти, выделенной для объекта в куче.
Если выделение памяти не удалось, может быть выброшено исключение std::bad_alloc.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
💊3
2025/07/12 19:45:45
Back to Top
HTML Embed Code: