😁5
Что произойдёт при вызове foo()?
Anonymous Quiz
32%
Компиляционная ошибка
31%
Вызов std::unexpected() или terminate()
11%
Исключение будет поймано автоматически
12%
Программа продолжит работу нормально
15%
Неопределённое поведение программы
Что произойдёт?
Anonymous Quiz
38%
UB: realloc с nullptr
40%
42
10%
Компилятор запрещает realloc в C++
7%
Краш из-за неверного выравнивания
4%
Утечка памяти
😁1
Forwarded from Библиотека собеса по C++ | вопросы с собеседований
🐛 Баг на выходные: порядок ASSERT vs EXPECT
Кажется, разница между ASSERT_* и EXPECT_* — мелочь. Но она меняет поведение теста кардинально.
Что произойдёт при выполнении теста? Какие строки выполнятся, а какие нет? Когда использование ASSERT_EQ вместо EXPECT_EQ — правильное решение, а когда — опасное?
📍Навигация: Вакансии • Задачи • Собесы
Библиотека C/C++ разработчика
#междусобойчик
Кажется, разница между ASSERT_* и EXPECT_* — мелочь. Но она меняет поведение теста кардинально.
TEST(VectorTest, CheckElements) {
std::vector<int> v = {1, 2, 3};
ASSERT_EQ(v.size(), 4u); // (1)
EXPECT_EQ(v[0], 1); // (2)
EXPECT_EQ(v[3], 4); // (3)
}Что произойдёт при выполнении теста? Какие строки выполнятся, а какие нет? Когда использование ASSERT_EQ вместо EXPECT_EQ — правильное решение, а когда — опасное?
📍Навигация: Вакансии • Задачи • Собесы
Библиотека C/C++ разработчика
#междусобойчик
Зачем использовать std::move при возврате?
Anonymous Quiz
15%
Обязательно для избежания копирования
69%
Нет, мешает NRVO и не нужно
7%
Нужно только в C++11
3%
Нужно для POD-типов
6%
Нужно при возврате глобальных переменных
👍5
Что выведет программа?
Anonymous Quiz
18%
main
28%
atexit
7%
atexit main
45%
Ошибка компиляции
1%
atexit atexit
🤔8
Что выведет программа?
Anonymous Quiz
20%
0
16%
99
40%
jumped
10%
Ошибка компиляции
14%
Неопределённое поведение
😁2