- В конструкторе: если выброшено исключение, объект считается несозданным, вызываются деструкторы уже созданных членов класса, после чего исключение передается дальше.
- В деструкторе: выбрасывать исключения небезопасно, так как это может вызвать std::terminate(), если исключение не обработано (throw в ~Destructor() недопустимо).
- Если необходимо обработать ошибку в деструкторе, лучше использовать логирование или явный вызов try-catch.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
Anonymous Quiz
67%
std::thread управляет синхронизацией между потоками
9%
std::thread поддерживает запуск потоков с функцией или лямбда-выражением
12%
std::thread может быть перемещен между объектами, но не скопирован
12%
std::thread требует явного вызова join() или detach() для корректного завершения
Anonymous Quiz
19%
std::mutex поддерживает эксклюзивный доступ для одного потока
21%
std::mutex может быть использован для реализации условных переменных
58%
std::mutex автоматически разблокируется при выходе из области видимости
2%
std::mutex используется для синхронизации доступа к разделяемым ресурсам
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
Anonymous Quiz
25%
std::visit автоматически выбирает тип функции для обработки значения в std::variant
39%
std::visit требует, чтобы все типы в std::variant были обработаны
11%
std::visit поддерживает использование лямбда-выражений для обработки значений
25%
std::visit позволяет выполнять операции на активном типе в std::variant
Anonymous Quiz
5%
+
20%
<<
40%
[]
35%
==
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
Anonymous Quiz
7%
std::aligned_union является частью библиотеки
12%
std::aligned_union используется для создания буфера с нужным выравниванием
12%
std::aligned_union поддерживает размещение объектов с произвольным выравниванием
69%
std::aligned_union управляет временем жизни объектов, размещенных в нем
Anonymous Quiz
41%
std::sort работает за время O(n log n) в худшем случае
26%
std::sort использует алгоритм быстрой сортировки в среднем случае
15%
std::sort может быть использован с пользовательским компаратором
19%
std::sort требует, чтобы элементы могли быть сравнены с помощью оператора <
💊1
1. Переместить последний элемент на место первого (O(1)).
2. Удалить последний элемент (pop_back()).
Это нарушит порядок, но значительно ускорит удаление.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
💊1
Anonymous Quiz
61%
Указывает, что значение переменной может изменяться в любой момент
28%
Определяет переменную, которая может быть модифицирована во время выполнения
8%
Делает переменную доступной только для чтения
3%
Увеличивает скорость выполнения кода
Anonymous Quiz
14%
std::hypot корректно обрабатывает случаи, когда один из катетов равен нулю
18%
std::hypot возвращает результат с тем же типом, что и переданные аргументы
9%
std::hypot вычисляет гипотенузу прямоугольного треугольника, используя длины двух катетов
59%
std::hypot поддерживает только целочисленные типы данных
1. Конструкторы не возвращают значения, поэтому исключения — единственный способ сообщить о неудачной инициализации.
2. Исключения интегрируются с механизмами управления памятью, автоматически освобождая частично инициализированные ресурсы.
3. Они делают код более выразительным, отделяя логику инициализации от обработки ошибок.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Anonymous Quiz
57%
std::distance может использоваться только с итераторами случайного доступа
21%
std::distance корректно работает с итераторами других категорий
9%
std::distance вычисляет расстояние между двумя итераторами
14%
std::distance может использоваться для вычисления длины диапазона
Anonymous Quiz
9%
std::any может хранить значение любого типа
17%
std::any позволяет безопасно извлекать хранимое значение с помощью std::any_cast
2%
std::any является частью библиотеки
73%
std::any не поддерживает проверку типа хранимого значения
Вместо хранения float можно:
1.Преобразовать цену в целочисленное значение (например, умножить на 100 или 1000 для точности до копеек/центов).
2.Хранить результат как int, что обеспечит точное сравнение и отсутствие ошибок округления.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
Anonymous Quiz
6%
std::atomic предоставляет атомарные операции для многопоточного программирования
26%
std::atomic поддерживает операции с различными типами данных, включая пользовательские классы
65%
std::atomic требует внешней синхронизации для корректной работы
3%
std::atomic является частью библиотеки
Anonymous Quiz
71%
std::shared_ptr является более легковесным, чем std::unique_ptr
8%
std::shared_ptr управляет объектом с подсчетом ссылок
15%
std::shared_ptr освобождает объект, когда последний shared_ptr указывает на него
6%
std::shared_ptr позволяет нескольким умным указателям совместно владеть одним объектом
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
Anonymous Quiz
7%
std::unique_ptr автоматически освобождает память при выходе из области видимости
83%
std::unique_ptr может быть копирован для создания нового unique_ptr
4%
std::unique_ptr управляет единственным владельцем динамически выделенного объекта
6%
std::unique_ptr поддерживает перемещение и не поддерживает копирование