🧩 Задача на выходные: оптимизируй код
Код работает, но выглядит... не очень. С++20 даёт нам крутые инструменты для упрощения.
Задача: Перепиши эту функцию используя ranges (C++20).
Бонус: Можно ли избежать промежуточных копирований?
✏️ Покажи свою версию в комментариях.
📍Навигация: Вакансии • Задачи • Собесы
Библиотека C/C++ разработчика
#междусобойчик
Код работает, но выглядит... не очень. С++20 даёт нам крутые инструменты для упрощения.
#include <vector>
#include <algorithm>
#include <iostream>
std::vector<int> filterAndTransform(const std::vector<int>& input) {
std::vector<int> filtered;
for (const auto& val : input) {
if (val % 2 == 0) {
filtered.push_back(val);
}
}
std::vector<int> result;
for (const auto& val : filtered) {
result.push_back(val * val);
}
return result;
}
Задача: Перепиши эту функцию используя ranges (C++20).
Бонус: Можно ли избежать промежуточных копирований?
✏️ Покажи свою версию в комментариях.
📍Навигация: Вакансии • Задачи • Собесы
Библиотека C/C++ разработчика
#междусобойчик
Когда debug_print НЕ будет выводить сообщения?
Anonymous Quiz
13%
При компиляции с -O0
8%
При компиляции с -g
63%
При компиляции с -DNDEBUG
5%
При компиляции с -Wall
10%
Никогда не будет выводить
😁3
Какое утверждение верно?
Anonymous Quiz
15%
VLA - часть стандарта C++
41%
Это расширение компилятора, не стандарт C++
11%
Код всегда корректен
9%
Это валидно только в C++20
24%
Ошибка: нужен new[]
Какова временная сложность этой функции для сбалансированного дерева?
Anonymous Quiz
6%
O(1)
51%
O(log n)
22%
O(n)
17%
O(n log n)
4%
O(n²)