1. Конструкторы не возвращают значения, поэтому исключения — единственный способ сообщить о неудачной инициализации.
2. Исключения интегрируются с механизмами управления памятью, автоматически освобождая частично инициализированные ресурсы.
3. Они делают код более выразительным, отделяя логику инициализации от обработки ошибок.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥1
Anonymous Quiz
12%
Команда SUB изменяет флаги состояния процессора, такие как флаг переноса и флаг нуля
17%
Команда SUB может быть использована для вычитания значений из регистра и памяти
61%
Команда SUB не изменяет флаг переполнения (overflow flag)
10%
Команда SUB используется для вычитания одного значения из другого
🔥3
Anonymous Quiz
43%
Имя теста в TEST должно быть уникальным во всей тестовой программе
13%
TEST автоматически создает объекты, которые управляют жизненным циклом теста
13%
Макрос TEST используется для создания тестов, которые проверяют функции или методы
31%
Имя теста, заданное в TEST, должно быть уникальным в пределах одного файла исходного кода
🔥2
2. Исключения позволяют безопасно остановить создание объекта, если данные или ресурсы не были успешно инициализированы.
3. Это защищает от использования некорректно инициализированных объектов.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
Anonymous Quiz
25%
TEST_F создает отдельный объект Fixture для каждого теста
38%
В TEST_F можно передавать параметры в конструктор класса Fixture
8%
Функция TEST_F используется для создания тестов с использованием Fixture
30%
TEST_F позволяет повторно использовать общие данные и методы в разных тестах
🔥2
Anonymous Quiz
38%
EXPECT_THROW может проверять, что исключение не выбрасывается
27%
EXPECT_THROW не прерывает выполнение теста при обнаружении исключения
21%
EXPECT_THROW используется для проверки того, что код вызывает исключение определенного типа
13%
EXPECT_THROW проверяет, что исключение выбрасывается в указанном блоке кода
🔥2
1. No-throw Guarantee: метод или операция не выбрасывает исключений. Пример: деструкторы.
2. Strong Guarantee: при выбросе исключения состояние объекта или программы остаётся неизменным.
3. Basic Guarantee: состояние объекта остаётся корректным, но изменения могут быть частичными.
4. No Guarantee: программа может оказаться в некорректном состоянии при исключении.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1🔥1
Anonymous Quiz
2%
Google Tests поддерживает настройку поведения тестов через переменные окружения
9%
Google Tests позволяет настроить отчет о тестах с помощью командной строки
20%
Параметры конфигурации тестов можно задать в исходном коде с помощью макросов
69%
Конфигурация тестов в Google Tests может быть изменена только через файлы конфигурации
🔥2
Anonymous Quiz
6%
SetUp выполняется перед каждым тестом и используется для подготовки данных
17%
SetUp и TearDown могут быть переопределены в производных классах для настройки тестов
54%
Методы SetUp и TearDown могут быть объявлены как статические
23%
TearDown выполняется после каждого теста и используется для очистки ресурсов
🔥1
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🔥1
Anonymous Quiz
12%
TEST_P может быть использован для создания тестов с различными входными данными
22%
TEST_P позволяет создавать тесты с параметрами, которые могут быть изменены
27%
Параметры для TEST_P задаются с помощью INSTANTIATE_TEST_SUITE_P
39%
TEST_P требует, чтобы параметры были заданы в конструкторе класса Fixture
🔥2
Anonymous Quiz
9%
Линковка объединяет объектные файлы и библиотеки в исполняемый файл
10%
Линковка может использовать статические и динамические библиотеки
13%
Компиляция преобразует исходный код в объектный код
68%
Компилятор выполняет проверку типов и синтаксиса на этапе линковки
🔥2👍1
Метод становится частью виртуальной таблицы (vtable) для работы с динамическим полиморфизмом. При вызове через указатель или ссылку базового типа используется переопределённая версия метода.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
😁2🔥1
Anonymous Quiz
16%
std::tuple может быть использован для упаковки и распаковки значений
15%
std::tuple позволяет хранить элементы различных типов в одном объекте
28%
std::tuple поддерживает доступ к элементам по индексу и типу
40%
std::tuple не поддерживает константные операции над элементами
🔥2
Anonymous Quiz
5%
Метапрограммирование может использовать шаблоны для генерации кода
11%
Метапрограммирование может быть использовано для создания типов и функций на этапе компиляции
16%
Метапрограммирование позволяет выполнять вычисления на этапе компиляции
68%
Метапрограммирование требует использования только встроенных типов данных
🔥2
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1🔥1
Anonymous Quiz
38%
constexpr используется для объявления констант, которые вычисляются во время выполнения
12%
constexpr переменные не могут быть инициализированы константными выражениями
14%
constexpr может быть использовано только с целочисленными типами
36%
constexpr функции могут быть вычислены на этапе компиляции
👍1🔥1
Anonymous Quiz
59%
Память, выделенная в куче, освобождается автоматически по завершению программы
15%
Память, выделенная оператором malloc, должна быть освобождена оператором free
16%
Память, выделенная в стеке, освобождается автоматически по выходу из блока
10%
Память, выделенная оператором new, должна быть освобождена оператором delete
👍1🔥1
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1🔥1
Anonymous Quiz
15%
Алиас-шаблоны могут быть использованы только с классами
22%
Алиас-шаблоны требуют использования ключевого слова typedef
25%
Алиас-шаблоны не поддерживаются стандартной библиотекой C++
38%
Алиас-шаблоны позволяют создавать синонимы для шаблонных классов или функций
👍1🔥1
Anonymous Quiz
26%
std::shared_mutex поддерживает как эксклюзивное, так и совместное владение
14%
std::shared_mutex позволяет нескольким потокам одновременно читать данные
27%
std::shared_mutex поддерживает только один поток на запись и несколько потоков на чтение
33%
std::shared_mutex требует явного вызова методов для блокировки и разблокировки
🤔2👍1🔥1