Anonymous Quiz
12%
std::any позволяет хранить значения различных типов
9%
std::any предоставляет метод has_value() для проверки наличия значения
21%
std::any поддерживает прямое извлечение значений по типу
59%
std::any автоматически преобразует типы при хранении и извлечении
2. Для избежания этой ситуации можно использовать std::recursive_mutex, который позволяет одному потоку многократно блокировать мьютекс
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Anonymous Quiz
15%
private
2%
public
82%
final
1%
virtual
Anonymous Quiz
5%
Оптимизация кода
4%
Повышение безопасности кода
87%
Предотвращение оптимизаций компилятором
5%
Управление памятью
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Anonymous Quiz
15%
std::atomic::is_lock_free может быть использован для определения эффективности атомарных операций
17%
std::atomic::is_lock_free возвращает true, если атомарные операции не требуют мьютексов
61%
std::atomic::is_lock_free всегда возвращает true для всех типов данных
7%
std::atomic::is_lock_free проверяет, является ли операция атомарной без блокировок
Anonymous Quiz
28%
Шаблоны компилируются в машинный код только при их использовании
57%
Шаблоны не могут быть рекурсивными
5%
Шаблоны могут быть специализированы для определённых типов
10%
Шаблоны позволяют писать обобщённый код, который работает с любыми типами
Это адаптер итератора, который используется для вставки элементов в конец контейнера при помощи push_back(). Он упрощает работу с алгоритмами стандартной библиотеки (std::copy, std::generate, std::transform), позволяя динамически расширять контейнер.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Anonymous Quiz
6%
std::array поддерживает операции копирования и присвоения
13%
std::array представляет собой фиксированный массив, размер которого задается на этапе компиляции
1%
std::array предоставляет доступ к элементам по индексу и итераторам
79%
std::array может изменять свой размер во время выполнения
Anonymous Quiz
10%
pthread_attr_init возвращает ошибку при неверном указании параметров
63%
pthread_attr_init требует указания мьютекса для работы
17%
pthread_attr_init может быть использована для установки параметров потока
10%
pthread_attr_init инициализирует объект атрибутов потока
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
💊2👍1🔥1
Anonymous Quiz
28%
pthread_cond_signal пробуждает один ожидающий поток
8%
pthread_cond_signal может быть использована для уведомления о выполнении условия
52%
pthread_cond_signal пробуждает все ожидающие потоки
12%
pthread_cond_signal требует использования мьютекса для синхронизации
Anonymous Quiz
67%
std::map::size требует выполнения операции поиска
20%
std::map::size выполняется за константное время
5%
std::map::size возвращает количество элементов в контейнере
8%
std::map::size может быть использован для определения, пуст ли контейнер
Наиболее часто используется size_t или std::atomic<size_t> для потокобезопасности.
- size_t – стандартный тип беззнакового целого, который оптимизирован для хранения размеров контейнеров.
- std::atomic<size_t> – используется в многопоточной среде для атомарного увеличения/уменьшения счетчика.
- В некоторых случаях используют uint32_t или uint64_t, если важно ограничение по размеру.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1🔥1
Anonymous Quiz
9%
std::thread может быть создан из лямбда-функции
6%
std::thread представляет собой поток исполнения
12%
std::thread требует явного вызова метода join() или detach()
73%
std::thread автоматически синхронизируется с другими потоками
Anonymous Quiz
14%
std::move используется для явного указания, что объект может быть перемещен
14%
std::move меняет тип объекта на rvalue
51%
std::move выполняет фактическое перемещение данных
21%
std::move делает объект недействительным
Деструктор должен быть виртуальным, если класс предназначен для использования в качестве базового, и предполагается полиморфное удаление через указатель (Base* ptr = new Derived; delete ptr;). Без виртуального деструктора деструкторы производных классов не будут вызваны, что приведет к утечке памяти.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Anonymous Quiz
12%
std::promise позволяет передать значение или исключение из одного потока в другой
22%
std::promise может быть создан без std::future и использоваться отдельно
4%
std::future используется для получения результата из std::promise
63%
std::future и std::promise поддерживают работу только с типом void
Anonymous Quiz
5%
std::future может быть использован для получения результата из асинхронной задачи
22%
std::future поддерживает получение исключений, произошедших в асинхронной задаче
63%
std::future позволяет нескольким потокам одновременно получать результат из одной задачи
10%
std::future требует использования метода get() для получения результата
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
💊2