2. std::recursive_mutex: позволяет одному потоку многократно блокировать мьютекс.
3. std::timed_mutex: поддерживает блокировку с тайм-аутом.
4. std::shared_mutex: позволяет совместный доступ для чтения и эксклюзивный доступ для записи.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
Anonymous Quiz
13%
std::scoped_lock предоставляет средство для безопасного захвата нескольких мьютексов
13%
std::scoped_lock является частью библиотеки
59%
std::scoped_lock поддерживает рекурсивное захватывание мьютексов
15%
std::scoped_lock использует RAII для автоматического освобождения мьютексов
🔥1
Anonymous Quiz
27%
std::enable_if используется для частичной специализации шаблонов
16%
std::enable_if может использоваться для проверки выражений во время компиляции
43%
std::enable_if требует использования decltype для определения типа
14%
std::enable_if позволяет включать или исключать функции из перегрузки в зависимости от типа
Если у базового класса есть хотя бы одна виртуальная функция, то у него создается одна таблица виртуальных функций (vtable). У производного класса также создается своя vtable, если он переопределяет виртуальные методы или добавляет новые.
- Если производный класс не добавляет новых виртуальных функций, он использует vtable родительского класса.
- Если переопределяет методы, создается отдельная vtable для производного класса.
Таким образом, в общем случае будет две таблицы vtable – по одной для каждого класса.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
Anonymous Quiz
16%
[[nodiscard]] может быть использован для указания на важность возвращаемого значения
13%
[[nodiscard]] является частью C++17
16%
[[nodiscard]] помечает функцию, чтобы предотвратить игнорирование возвращаемого значения
54%
[[nodiscard]] может применяться к конструкторам и деструкторам
Anonymous Quiz
12%
wait используется для синхронизации с завершением дочернего процесса
20%
wait возвращает идентификатор завершенного дочернего процесса
39%
wait не возвращает код завершения дочернего процесса
29%
wait блокирует процесс до завершения дочернего процесса
👍1
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
Anonymous Quiz
10%
std::unique_ptr поддерживает перемещение и не поддерживает копирование
78%
std::unique_ptr может быть копирован для создания нового unique_ptr
2%
std::unique_ptr автоматически освобождает память при выходе из области видимости
10%
std::unique_ptr управляет единственным владельцем динамически выделенного объекта
Anonymous Quiz
40%
Шаблоны могут вызывать ошибки компиляции только при инициализации объектов
34%
Для использования шаблонов необходимо явно указать типы при создании объекта шаблона
16%
Шаблоны могут быть частично специализируемыми
10%
Концепции в C++20 позволяют ограничивать типы, которые могут быть использованы с шаблонами
🔥1💊1
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Anonymous Quiz
11%
std::chrono предоставляет типы для работы с временем и продолжительностью
31%
std::chrono включает типы для работы с часовыми зонами
47%
std::chrono может использоваться только с встроенными типами данных времени
11%
std::chrono поддерживает конвертацию между различными единицами времени
Anonymous Quiz
17%
SetUp выполняется перед каждым тестом и используется для подготовки данных
17%
SetUp и TearDown могут быть переопределены в производных классах для настройки тестов
42%
Методы SetUp и TearDown могут быть объявлены как статические
25%
TearDown выполняется после каждого теста и используется для очистки ресурсов
👍1
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Anonymous Quiz
6%
Метапрограммирование позволяет выполнять вычисления на этапе компиляции
16%
Метапрограммирование может быть использовано для создания типов и функций на этапе компиляции
72%
Метапрограммирование требует использования только встроенных типов данных
6%
Метапрограммирование может использовать шаблоны для генерации кода
Anonymous Quiz
44%
std::transform_reduce всегда требует явного указания оператора преобразования
28%
std::transform_reduce является частью библиотеки
12%
std::transform_reduce поддерживает параллельное выполнение
16%
std::transform_reduce выполняет комбинацию операций преобразования и редукции
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
Anonymous Quiz
27%
std::mutex не предоставляет возможность рекурсивного захвата
20%
std::mutex используется для синхронизации доступа к общим данным
41%
std::mutex поддерживает блокировку на основе других потоков
12%
std::mutex может быть использован для защиты критических секций
Anonymous Quiz
9%
std::aligned_storage используется для создания буферов с заданным выравниванием и размером
36%
std::aligned_storage позволяет размещать объекты с произвольным выравниванием
5%
std::aligned_storage является частью библиотеки
50%
std::aligned_storage управляет временем жизни объектов, которые в нем размещены
1. static_cast: Для явного и безопасного приведения типов, известных на этапе компиляции.
2. dynamic_cast: Для приведения указателей или ссылок в иерархии классов с проверкой типов во время выполнения.
3. const_cast: Для снятия или добавления const и volatile квалификаторов.
4. reinterpret_cast: Для низкоуровневого преобразования указателей или других типов без проверки безопасности.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
Anonymous Quiz
38%
Команда SUB используется для вычитания одного значения из другого
13%
Команда SUB не изменяет флаг переполнения (overflow flag)
25%
Команда SUB изменяет флаги состояния процессора, такие как флаг переноса и флаг нуля
25%
Команда SUB может быть использована для вычитания значений из регистра и памяти