2. Для избежания этой ситуации можно использовать std::recursive_mutex, который позволяет одному потоку многократно блокировать мьютекс
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Какое из следующих утверждений о std::map::upper_bound неверно?
Anonymous Quiz
23%
std::map::upper_bound может быть использован для определения диапазона элементов
41%
std::map::upper_bound возвращает итератор на элемент с заданным ключом
28%
std::map::upper_bound возвращает итератор на первый элемент, который строго больше заданного ключа
8%
std::map::upper_bound возвращает итератор на конец контейнера, если нет подходящих элементов
🤔 Какое из следующих утверждений о std::free неверно?
Anonymous Quiz
69%
std::free автоматически устанавливает указатель на освобожденную память в nullptr
17%
std::free может использоваться для освобождения памяти, выделенной с помощью std::malloc
11%
std::free освобождает ранее выделенную память
4%
std::free требует указателя на выделенную память
- Первым в стандарт попал auto_ptr в C++98 — оказался неудобным и небезопасным.
- Затем Boost предложил shared_ptr, scoped_ptr, weak_ptr.
- С выходом C++11 появились современные unique_ptr, shared_ptr, weak_ptr.
- auto_ptr был объявлен устаревшим и позже удалён (в C++17).
- Современные умные указатели активно используются для автоматического управления памятью и соблюдения RAII.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Какое из следующих утверждений о системном вызове pipe неверно?
Anonymous Quiz
28%
pipe позволяет потокам обмениваться данными между собой
9%
pipe используется для связи между процессами
17%
pipe создает пару файловых дескрипторов для межпроцессорного взаимодействия
46%
pipe блокирует процессы, если данные не готовы
🤔 Какое из следующих утверждений о std::adjacent_difference неверно?
Anonymous Quiz
9%
std::adjacent_difference поддерживает бинарные операции для вычислений
17%
std::adjacent_difference вычисляет разности между соседними элементами диапазона
39%
std::adjacent_difference требует, чтобы диапазон поддерживал случайный доступ
35%
std::adjacent_difference изменяет элементы диапазона
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Какое из следующих утверждений о std::condition_variable::wait_for неверно?
Anonymous Quiz
19%
std::condition_variable::wait_for возвращает std::cv_status в зависимости от завершения
29%
std::condition_variable::wait_for блокирует поток до завершения таймаута
42%
std::condition_variable::wait_for не блокирует выполнение до завершения таймаута
10%
std::condition_variable::wait_for позволяет задать таймаут для ожидания
🤔 Какое из следующих утверждений о std::move и std::forward неверно?
Anonymous Quiz
27%
std::forward требует использования ссылок на rvalue для корректного перенаправления
18%
std::forward используется для идеальной перенаправляемости аргументов в шаблонных функциях
8%
std::move используется для явного указания перемещения объекта
47%
std::move меняет состояние исходного объекта, к которому применяется
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Какое из следующих утверждений о std::call_once неверно?
Anonymous Quiz
12%
std::call_once позволяет гарантировать, что функция будет вызвана только один раз
19%
std::call_once может быть использован для инициализации объектов
19%
std::call_once использует объект std::once_flag для управления вызовами
50%
std::call_once не обеспечивает синхронизацию при вызове функции
🤔 Какое из следующих утверждений о std::promise неверно?
Anonymous Quiz
19%
std::promise требует использования метода set_value() или set_exception() для передачи результатов
39%
std::promise автоматически обрабатывает завершение задачи
35%
std::promise позволяет передавать значения или исключения в асинхронные задачи
6%
std::promise является частью библиотеки
Контейнер std::list предоставляет встроенный метод sort(), который использует алгоритм сортировки слиянием (merge sort) с временной сложностью O(n log n). Также можно использовать std::vector, скопировав в него данные, отсортировав с std::sort(), а затем записав обратно в list.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Какое из следующих утверждений о std::lock_guard неверно?
Anonymous Quiz
10%
std::lock_guard обеспечивает автоматическую блокировку и разблокировку мьютекса
67%
std::lock_guard поддерживает управление несколькими мьютексами одновременно
15%
std::lock_guard не предоставляет методы для явного разблокирования мьютекса
8%
std::lock_guard является простым способом управления блокировками в многопоточном коде
🤔 Какое из следующих утверждений о std::ofstream неверно?
Anonymous Quiz
60%
std::ofstream предоставляет методы для чтения данных из файла
16%
std::ofstream может открывать файлы для добавления данных
12%
std::ofstream используется для записи данных в файл
12%
std::ofstream поддерживает работу с текстовыми и бинарными файлами
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Какое из следующих утверждений о std::vector неверно?
Anonymous Quiz
31%
std::vector поддерживает операции вставки и удаления элементов в середине
52%
std::vector не поддерживает перемещение элементов внутри себя
13%
std::vector всегда хранит элементы в непрерывном блоке памяти
5%
std::vector поддерживает динамическое изменение размера
🤔 Какое из следующих утверждений о std::reference_wrapper неверно?
Anonymous Quiz
39%
std::reference_wrapper может быть использован для хранения ссылки на временный объект
13%
std::reference_wrapper позволяет хранить ссылки в контейнерах
16%
std::reference_wrapper поддерживает операцию присвоения и сравнения
32%
std::reference_wrapper хранит внутреннее значение как указатель
В стандартной библиотеке есть несколько видов итераторов:
- InputIterator – предназначен только для однократного чтения данных.
- OutputIterator – позволяет записывать данные в контейнер.
- ForwardIterator – поддерживает однократное чтение и запись, может быть использован многократно.
- BidirectionalIterator – поддерживает движение в обоих направлениях (вперед и назад).
- RandomAccessIterator – обеспечивает доступ к любому элементу за O(1), работает как указатель.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Какое из следующих утверждений о std::unique_lock неверно?
Anonymous Quiz
45%
std::unique_lock требует явного вызова для захвата мьютекса
9%
std::unique_lock может быть использован для захвата мьютекса с использованием различных стратегий
23%
std::unique_lock автоматически освобождает мьютекс при выходе из области видимости
23%
std::unique_lock позволяет захватывать и освобождать мьютекс вручную