Библиотека задач по C++ | тесты, код, задания
5.06K subscribers
891 photos
5 videos
247 links
Задачи и тесты по C++ для тренировки и обучения.

По рекламе: @proglib_adv

Учиться у нас: https://proglib.io/w/7a480301

Для обратной связи: @proglibrary_feeedback_bot
Download Telegram
🧩 Выходной челлендж: noexcept или не noexcept?

Многие добавляют noexcept "на глаз". А ты знаешь, где это критично?

class DataStore {
std::vector<int> data;
public:
DataStore() = default;

DataStore(DataStore&& other) {
data = std::move(other.data);
}

void add(int value) {
data.push_back(value);
}
};


Задача: В какие методы нужно добавить noexcept и почему?

Подсказка: один из них критически важен для производительности при работе с контейнерами STL.

💬 Делись своими мыслями! Объясни не только ЧТО добавить, но и ПОЧЕМУ это важно.

📍Навигация: ВакансииЗадачиСобесы

Библиотека C/C++ разработчика

#междусобойчик
Какая функция позволяет узнать, находится ли выполнение в процессе раскрутки стека?
Anonymous Quiz
30%
std::is_unwinding()
13%
std::uncaught_exception()
10%
std::uncaught_exceptions()
11%
std::in_exception()
37%
Такой функции нет
😁2🤩1
Что выведет программа?
Anonymous Quiz
37%
5
24%
1
7%
8
20%
9
10%
2
🐛 Баг на выходные: порядок ASSERT vs EXPECT

Кажется, разница между 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++ разработчика

#междусобойчик