Anonymous Quiz
15%
std::multimap позволяет хранить несколько значений с одинаковыми ключами
6%
std::multimap упорядочивает элементы по ключам
1%
std::multimap является частью библиотеки
78%
std::multimap обеспечивает уникальность значений для каждого ключа
Разница между std::shared_ptr<T>(new T) и std::make_shared<T>() заключается в управлении памятью и эффективностью:
- std::make_shared<T>() эффективнее, так как создает объект и управляющий блок в одной аллокации, снижая накладные расходы.
- std::shared_ptr<T>(new T) менее эффективно, так как делает две аллокации (одну для объекта, вторую – для управляющего блока).
- make_shared<T>() безопаснее в случае исключений, так как не допускает утечек памяти.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1🔥1💊1
Anonymous Quiz
18%
std::latch поддерживает уменьшение счетчика по мере выполнения операций
18%
std::latch позволяет потокам ждать, пока счетчик не достигнет нуля
24%
std::latch предоставляет методы для установки начального значения счетчика
39%
std::latch автоматически сбрасывает счетчик после его достижения
Anonymous Quiz
12%
std::unique_lock::try_lock пытается захватить мьютекс
55%
std::unique_lock::try_lock блокирует поток до получения мьютекса
16%
std::unique_lock::try_lock возвращает true, если захват успешен
18%
std::unique_lock::try_lock не блокирует поток, если мьютекс уже захвачен
- В конструкторе: если выброшено исключение, объект считается несозданным, вызываются деструкторы уже созданных членов класса, после чего исключение передается дальше.
- В деструкторе: выбрасывать исключения небезопасно, так как это может вызвать std::terminate(), если исключение не обработано (throw в ~Destructor() недопустимо).
- Если необходимо обработать ошибку в деструкторе, лучше использовать логирование или явный вызов try-catch.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
Anonymous Quiz
13%
std::thread требует явного управления временем жизни потоков
55%
std::thread и std::async всегда используют одни и те же механизмы планирования задач
15%
std::thread и std::async могут использоваться для параллельного выполнения задач
18%
std::async автоматически управляет временем жизни задач и возвращаемым результатом
Anonymous Quiz
7%
std::shared_ptr автоматически освобождает память, когда последний shared_ptr освобождается
17%
std::shared_ptr может быть использован для управления объектами с нестандартным удалением
35%
std::shared_ptr может быть создан из std::unique_ptr с помощью std::move
42%
std::shared_ptr может быть создан с использованием кастинга
💊12🤔1
Удаление элемента в середине или начале std::vector имеет сложность O(n), так как все последующие элементы сдвигаются. Удаление элемента с конца (последнего) — O(1).
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
Anonymous Quiz
2%
int
88%
long long
4%
double
6%
bigInt
💊2
Anonymous Quiz
11%
std::latch поддерживает уменьшение счетчика по мере выполнения операций
23%
std::latch позволяет потокам ждать, пока счетчик не достигнет нуля
34%
std::latch автоматически сбрасывает счетчик после его достижения
31%
std::latch предоставляет методы для установки начального значения счетчика
💊2
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Anonymous Quiz
17%
std::thread может быть создан с помощью функции-члена
19%
std::thread может быть создан с помощью функции, переданной в конструктор
56%
std::thread требует, чтобы функция была копируемой
8%
std::thread поддерживает запуск лямбда-выражений
Anonymous Quiz
56%
std::span управляет временем жизни объектов, которые он оборачивает
9%
std::span является частью библиотеки
13%
std::span можно использовать для обёртки массивов, std::vector и std::array
22%
std::span представляет собой непрерывный диапазон объектов в памяти
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1🔥1
Anonymous Quiz
24%
Команда CLC очищает флаг переноса (carry flag)
31%
Команда CLC используется для установки флага переноса в 1
16%
Команда CLC изменяет состояние флага переноса в процессоре
29%
Команда CLC используется для подготовки к выполнению операции сложения
Anonymous Quiz
47%
std::optional требует указания типа при использовании, даже если он пуст
10%
std::optional может содержать значение или быть пустым
14%
std::optional поддерживает инициализацию с помощью значения по умолчанию
29%
std::optional автоматически вызывает конструктор и деструктор для хранения значения
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Anonymous Quiz
8%
Lambda-выражения могут захватывать переменные по значению или по ссылке
17%
Lambda-выражения могут быть использованы для создания функций с произвольными захватами
11%
std::bind позволяет фиксировать определенные аргументы функции
64%
std::bind всегда требует явного указания всех аргументов функции
Anonymous Quiz
20%
std::promise используется для передачи результата от одного потока к другому
18%
std::promise может передавать исключения через связанный std::future
33%
std::promise требует использования std::future для получения результата
29%
std::promise предоставляет метод set_value() для установки значения
💊2
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1