Что произойдёт?
Anonymous Quiz
39%
UB: realloc с nullptr
39%
42
9%
Компилятор запрещает realloc в C++
8%
Краш из-за неверного выравнивания
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
16%
Обязательно для избежания копирования
68%
Нет, мешает NRVO и не нужно
6%
Нужно только в C++11
3%
Нужно для POD-типов
7%
Нужно при возврате глобальных переменных
👍5
Что выведет программа?
Anonymous Quiz
19%
main
28%
atexit
9%
atexit main
42%
Ошибка компиляции
1%
atexit atexit
🤔12
Что выведет программа?
Anonymous Quiz
22%
0
15%
99
37%
jumped
10%
Ошибка компиляции
16%
Неопределённое поведение
😁3
Что выведет код?
Anonymous Quiz
11%
000
53%
001
9%
010
13%
011
13%
Ошибка компиляции: неоднозначный вызов для float