Что такое std::default_sentinel_t в C++20?
Anonymous Quiz
25%
Базовый класс для всех пользовательских сентинелей
38%
Пустой тип, обозначающий конец диапазона по умолчанию
14%
Шаблонный параметр для контейнеров стандартной библиотеки
10%
Псевдоним типа для std::nullptr_t в контексте итераторов
14%
Концепт, описывающий требования к типу-сентинелю
Почему использование макроса для определения константы хуже, чем constexpr?
Anonymous Quiz
2%
Макросы не поддерживают целочисленные типы данных
12%
Препроцессор не может подставить макрос внутри шаблона класса
8%
constexpr быстрее макроса в момент выполнения программы
77%
Макросы не участвуют в системе типов и не имеют области видимости
2%
Макросы запрещены в заголовочных файлах начиная с C++14
Forwarded from Библиотека задач по C++ | тесты, код, задания
🧩 Выходной челлендж: дочисти парсер команд
У тебя есть заготовка интерактивной оболочки — read-eval-print loop. Осталось дописать несколько ключевых частей.
Задача: заполни три TODO.
💬 Покажи своё решение — особенно интересны варианты с std::istringstream и ручным разбором.
📍Навигация: Вакансии • Задачи • Собесы
Библиотека C/C++ разработчика
#междусобойчик
У тебя есть заготовка интерактивной оболочки — read-eval-print loop. Осталось дописать несколько ключевых частей.
#include <iostream>
#include <sstream>
#include <vector>
#include <string>
std::vector<std::string> parseCommand(const std::string& line) {
// TODO: разбить строку на токены по пробелам
// Учти: несколько пробелов подряд — не ошибка
}
void execute(const std::vector<std::string>& tokens) {
if (tokens.empty()) return;
if (tokens[0] == "echo") {
// TODO: вывести все аргументы через пробел
} else if (tokens[0] == "exit") {
exit(0);
} else {
// TODO: вывести "Unknown command: <имя команды>"
}
}
int main() {
std::string line;
while (true) {
std::cout << "> ";
if (!std::getline(std::cin, line)) break;
execute(parseCommand(line));
}
}
Задача: заполни три TODO.
💬 Покажи своё решение — особенно интересны варианты с std::istringstream и ручным разбором.
📍Навигация: Вакансии • Задачи • Собесы
Библиотека C/C++ разработчика
#междусобойчик
😱 Если ваш продукт не умеет отдавать данные в формате, понятном AI-агенту, то вас просто не существует
Скрипт не будет кликать по красивым кнопкам в браузере, он уйдёт к конкуренту с нормальным API. Перестроить архитектуру под машинных клиентов — это уже не хайп, а необходимое условие сохранения конкурентоспособности.
Как адаптировать продукт и не исчезнуть из выдачи:
— интегрировать
— научиться контролировать стоимость (лимиты, кэш, роутинг между моделями);
— настроить AgentOps: трейсинг, логирование и отлов регрессий.
Всё это ждёт вас на обновлённом курсе «Разработка AI-агентов». Мы специально сделали фокус на утилитарном инжиниринге и production-ready решениях.
Кстати, до 29 марта можно забрать курс с большой скидкой, и стоит поторопиться — мест на потоке всё меньше.
Зафиксировать цену и начать деплоить агентов без слива бюджета 👈
Скрипт не будет кликать по красивым кнопкам в браузере, он уйдёт к конкуренту с нормальным API. Перестроить архитектуру под машинных клиентов — это уже не хайп, а необходимое условие сохранения конкурентоспособности.
Как адаптировать продукт и не исчезнуть из выдачи:
— интегрировать
MCP и A2A-взаимодействие, чтобы агенты могли вас читать;— научиться контролировать стоимость (лимиты, кэш, роутинг между моделями);
— настроить AgentOps: трейсинг, логирование и отлов регрессий.
Всё это ждёт вас на обновлённом курсе «Разработка AI-агентов». Мы специально сделали фокус на утилитарном инжиниринге и production-ready решениях.
Кстати, до 29 марта можно забрать курс с большой скидкой, и стоит поторопиться — мест на потоке всё меньше.
Зафиксировать цену и начать деплоить агентов без слива бюджета 👈
😁1
Какой концепт C++20 описывает отношение между итератором и sentinel?
Anonymous Quiz
5%
std::input_iterator для однонаправленных итераторов
5%
std::forward_iterator для многопроходных итераторов
8%
std::weakly_incrementable для счётных итераторов
65%
std::sentinel_for
16%
std::sized_sentinel_for для диапазонов с известным размером
Может ли макрос вызывать сам себя рекурсивно?
Anonymous Quiz
12%
Да, но только при наличии условия #if для остановки рекурсии
16%
Да, глубина рекурсии ограничена значением __DEPTH__
13%
Нет, рекурсивные макросы допустимы только в стандарте C++20
44%
Нет, препроцессор запрещает рекурсивное раскрытие одного макроса
15%
Да, если использовать оператор ## для передачи имени самому себе
Что такое линкер (linker) в процессе сборки C++ программы?
Anonymous Quiz
3%
Инструмент, преобразующий исходный код в объектный файл
91%
Инструмент, объединяющий объектные файлы в исполняемый файл
5%
Инструмент, обрабатывающий директивы #include
1%
Инструмент, оптимизирующий байт-код программы
1%
Инструмент, проверяющий синтаксис исходного кода
😁2🤔1
Что такое «объектоподобный» (object-like) макрос в C++?
Anonymous Quiz
26%
Макрос, имитирующий методы класса без скобок
15%
Макрос без списка параметров, подставляющий фиксированный текст
10%
Макрос, принимающий объект как единственный аргумент
46%
Макрос, генерирующий определение структуры или класса
3%
Макрос, работающий только с объектами стандартной библиотеки
Какой из перечисленных элементов относится к области видимости файла (file scope)?
Anonymous Quiz
3%
Переменные, объявленные внутри функции
9%
Переменные, объявленные внутри блока {}
28%
Переменные, объявленные с ключевым словом static внутри класса
57%
Переменные, объявленные вне всех функций и классов
3%
Параметры функций и лямбда-выражений
Что гарантирует концепт std::sized_sentinel_for?
Anonymous Quiz
21%
Что разность итератора и sentinel вычислима за O(1)
12%
Что sentinel хранит количество оставшихся элементов
35%
Что диапазон имеет фиксированный размер на этапе компиляции
22%
Что sentinel совпадает по типу с итератором диапазона
11%
Что итератор поддерживает произвольный доступ к элементам
Forwarded from Библиотека задач по C++ | тесты, код, задания
🧩 Задача на выходные: правильная ли это BST?
Классическая ловушка на собеседованиях. Этот код проверяет BST неправильно:
Для дерева:
Функция вернёт true. Но это не BST!
✏️ Объясни баг и перепиши функцию корректно.
📍Навигация: Вакансии • Задачи • Собесы
Библиотека C/C++ разработчика
#междусобойчик
Классическая ловушка на собеседованиях. Этот код проверяет BST неправильно:
bool isValidBST(TreeNode* node) {
if (!node) return true;
if (node->left && node->left->val >= node->val) return false;
if (node->right && node->right->val <= node->val) return false;
return isValidBST(node->left) && isValidBST(node->right);
}
Для дерева:
5
/ \
1 4
/ \
3 6
Функция вернёт true. Но это не BST!
📍Навигация: Вакансии • Задачи • Собесы
Библиотека C/C++ разработчика
#междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
Что такое "aggregate initialization" и как изменилось в C++20/23?
Anonymous Quiz
25%
Инициализация через список инициализаторов std::initializer_list
4%
Инициализация массивов встроенных типов
7%
Механизм инициализации базовых классов через super{}
61%
Прямая инициализация полей через {} без конструктора
4%
Автоматическая генерация конструкторов компилятором
Какова роль препроцессора в компиляции C++?
Anonymous Quiz
4%
Генерирует машинный код из AST дерева
1%
Проверяет типобезопасность программы
3%
Распределяет память под глобальные переменные
91%
Обрабатывает директивы # до начала компиляции
1%
Связывает объектные файлы в исполняемый файл
Что означает [[no_unique_address]] для членов класса?
Anonymous Quiz
9%
Запрещает создание нескольких объектов одного класса
7%
Запрещает выравнивание члена по границе слова
48%
Разрешает двум членам иметь одинаковый адрес при any условии
30%
Позволяет пустым членам занимать 0 байт в памяти
5%
Помечает член как не влияющий на sizeof
Что правильно описывает inline переменную (C++17)?
Anonymous Quiz
33%
Переменная вставляется в каждую единицу трансляции отдельно
33%
Переменная имеет единственный экземпляр во всей программе
4%
Переменная автоматически становится constexpr
26%
inline для переменных недопустим, только для функций
5%
Переменная помещается в стек, а не в BSS/data-сегмент
При каком условии компилятор перестаёт неявно генерировать конструктор копирования?
Anonymous Quiz
35%
Если в классе объявлен любой конструктор с параметрами
30%
Если в классе объявлен деструктор или move-конструктор
9%
Если в классе есть хотя бы одно поле с модификатором const
15%
Если базовый класс не имеет конструктора по умолчанию
11%
Если в классе объявлен operator==
Сколько пользовательских преобразований компилятор может применить в одной неявной цепочке?
Anonymous Quiz
44%
Неограниченное количество, пока типы совместимы
24%
Ровно одно пользовательское преобразование
4%
Не более двух пользовательских преобразований
11%
Три: одно через конструктор, одно через оператор, одно встроенное
17%
Зависит от уровня оптимизации компилятора
Чем sentinel принципиально отличается от итератора конца?
Anonymous Quiz
12%
Sentinel всегда является указателем на нулевой элемент
35%
Sentinel может иметь другой тип, нежели итератор
22%
Sentinel обязательно хранит состояние диапазона внутри
18%
Sentinel не может использоваться в алгоритмах стандартной библиотеки
13%
Sentinel всегда является константным объектом диапазона
Forwarded from Библиотека задач по C++ | тесты, код, задания
🔥 Найди баг: копирование строки сломало указатель
‼️ Задача: найди баг (если он есть), объясни, почему он связан с SSO, и предложи исправление.
📍Навигация: Вакансии • Задачи • Собесы
Библиотека C/C++ разработчика
#междусобойчик
#include <string>
#include <iostream>
struct Token {
std::string value;
const char* ptr;
Token(const std::string& s) : value(s), ptr(value.data()) {}
};
int main() {
Token t1("hi");
Token t2 = t1; // копируем
std::cout << t1.ptr << "\n"; // "hi"
std::cout << t2.ptr << "\n"; // ???
}
📍Навигация: Вакансии • Задачи • Собесы
Библиотека C/C++ разработчика
#междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM