Что хранит std::unreachable_sentinel_t в C++20?
Anonymous Quiz
12%
Адрес последнего элемента бесконечного диапазона
6%
Адрес последнего элемента бесконечного диапазона
31%
Ничего — это пустой тип, сравнение всегда false
44%
Специальный маркер для бесконечных диапазонов чисел
7%
Указатель на следующий sentinel в цепочке диапазонов
🤔3
Могут ли virtual функции быть constexpr в C++23 и вычисляться на этапе компиляции?
Anonymous Quiz
39%
Нет, virtual и constexpr взаимно исключают друг друга
23%
Да, виртуальные функции могут быть constexpr — вызов через объект (не указатель) вычислим
9%
Только чистые виртуальные функции (= 0) могут быть constexpr
11%
Да, но только если все классы в иерархии объявлены с final
18%
Нет, constexpr virtual компилируется, но вызов всегда происходит в runtime через vtabl
В каком сегменте бинарного файла хранятся vtable?
Anonymous Quiz
20%
В сегменте .text вместе с кодом функций
11%
В сегменте .bss — нулевая инициализация
18%
В сегменте .data — изменяемые данные
37%
В сегменте .rodata — только для чтения
13%
В сегменте .stack текущего потока
Что произойдёт, если модифицировать контейнер во время итерации через std::ranges::filter_view?
Anonymous Quiz
7%
Итерация корректно завершится, игнорируя изменения
13%
Представление автоматически обновится и учтёт изменения
7%
Компилятор выдаст ошибку, запрещая модификацию
66%
Поведение неопределено, итераторы могут инвалидироваться
7%
Изменения отложатся до окончания итерации по view
🎉181👍171😍160❤🔥152🥰137
Forwarded from Библиотека C/C++ разработчика | cpp, boost, qt
#include <ranges>
#include <vector>
void process(const auto& view) {
for (auto x : view) { (void)x; }
}
int main() {
std::vector<int> data = { 1, 2, 3, 4, 5 };
auto pred = [](int x) {
return x % 2 == 0;
};
auto filtered = data | std::views::filter(pred);
process(filtered); // ❌ не компилируется
}
Объясни механизм: почему
begin() const невозможен в принципе, а не по недосмотру комитета.📍Навигация: Вакансии • Задачи • Собесы
Библиотека C/C++ разработчика
#междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥182💯169❤150🔥150🥰148
Что такое «виртуальный прокси» в контексте C++?
Anonymous Quiz
37%
Прокси, реализованный через виртуальные функции в базовом классе
4%
Прокси, используемый только в виртуальных машинах и эмуляторах
7%
Прокси, автоматически удаляющийся при уничтожении базового объекта
16%
Прокси, откладывающий создание тяжёлого объекта до момента нужды
36%
Прокси, предоставляющий интерфейс без реальной реализации позади
🤩177👍175🎉168😍164🥰152
Какой паттерн используется для предоставления упрощённого интерфейса к сложной подсистеме?
Anonymous Quiz
9%
Proxy
51%
Facade
28%
Adapter
10%
Decorator
2%
Composite
Какой паттерн реализует «умный указатель» std::shared_ptr в стандартной библиотеке C++?
Anonymous Quiz
20%
Singleton
24%
Decorator
33%
Proxy
8%
Prototype
14%
Flyweight
This media is not supported in your browser
VIEW IN TELEGRAM
Включайте кружок там личное приглашение от спикера. 👆
Уже завтра в прямом эфире, разбираем архитектуру контекста в мультиагентных системах.
🤫 Секретный лут:
👉 Регистрируйтесь на трансляцию
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
Реализация FSM на шаблонах C++ (compile-time FSM). Что невозможно в таком автомате?
Anonymous Quiz
6%
Compile-time FSM не поддерживает более 16 состояний из-за ограничений компилятора
12%
Compile-time FSM не позволяет использовать лямбды как действия при переходах состояний
50%
Добавление состояний и переходов в runtime — вся структура фиксирована при компиляции
13%
Compile-time FSM не может иметь guard-условия, зависящие от внешних данных контекста
19%
Compile-time FSM не совместим с виртуальными функциями и полиморфными типами C++
🤔3
Осталось всего 4 места на курс по ИИ-агентам. 30 апреля закрываем набор окончательно.
В ГС честно рассказали:
— Кому курс не подойдет;
— Какой хардкор в программе (LangGraph, AutoGen, CrewAI);
— Как мы даем токены, чтобы вы не тратили свои деньги.
🏃♀️ Записаться, пока есть места
В ГС честно рассказали:
— Кому курс не подойдет;
— Какой хардкор в программе (LangGraph, AutoGen, CrewAI);
— Как мы даем токены, чтобы вы не тратили свои деньги.
Please open Telegram to view this post
VIEW IN TELEGRAM
Какой атрибут запретит компилятору удалять функцию как неиспользуемую?
Anonymous Quiz
7%
__attribute__((noinline))
63%
__attribute__((used))
7%
__attribute__((visibility("default")))
5%
__attribute__((section(".isr")))
17%
extern "C"
Для чего используется паттерн Flyweight в C++?
Anonymous Quiz
19%
Для обёртки объекта и добавления к нему дополнительного поведения
11%
Для разделения абстракции от реализации в независимые иерархии
63%
Для экономии памяти через разделение общего состояния объектов
6%
Для построения сложных объектов по шагам через класс-строитель
2%
Для обеспечения единственного экземпляра класса в приложении
Какой паттерн используется в системах событий Qt (сигналы и слоты)?
Anonymous Quiz
16%
Command
8%
Mediator
14%
Chain of Responsibility
58%
Observer
4%
Strategy
Forwarded from Библиотека задач по C++ | тесты, код, задания
🏆 Задача на выходные: string_view vs string в API
Перед тобой два варианта API логгера. Выбери лучший и обоснуй. Нет единственно верного ответа — важна аргументация.
✏️ Напиши в комментариях: какой метод в каком варианте правильный, а какой — нет. Предложи «идеальный»
📍Навигация: Вакансии • Задачи • Собесы
Библиотека C/C++ разработчика
#константная_правильность
Перед тобой два варианта API логгера. Выбери лучший и обоснуй. Нет единственно верного ответа — важна аргументация.
#include <string>
#include <string_view>
// Вариант А
class LoggerA {
public:
void log(const std::string& msg);
void setPrefix(const std::string& prefix);
std::string getLastMessage() const;
};
// Вариант Б
class LoggerB {
public:
void log(std::string_view msg);
void setPrefix(std::string_view prefix);
std::string_view getLastMessage() const;
};
// Контекст использования:
// 1. log() вызывается тысячи раз в секунду
// 2. setPrefix() — один раз при старте
// 3. getLastMessage() — для диагностики
// 4. Логгер хранит последнее сообщение внутри
LoggerC.📍Навигация: Вакансии • Задачи • Собесы
Библиотека C/C++ разработчика
#константная_правильность
Please open Telegram to view this post
VIEW IN TELEGRAM
Что изменилось с std::numeric_limits<T>::quiet_NaN() в C++23?
Anonymous Quiz
27%
Стала constexpr
21%
Заработала с if consteval без std::isnan
22%
Возвращает std::optional вместо сигнального NaN
21%
Добавлен operator==, возвращающий false без UB
10%
Стала [[nodiscard]]
Что такое «event loop» в контексте C++ и библиотеки Asio?
Anonymous Quiz
8%
Механизм обхода элементов контейнера в цикле по событиям планировщика
7%
Паттерн проектирования для управления жизненным циклом потоков операционной системы
2%
Системный вызов ядра Linux для асинхронного ожидания файловых дескрипторов
72%
Бесконечный цикл опроса очереди задач и диспетчеризации обработчиков ввода-вывода
11%
Механизм синхронизации между несколькими экземплярами io_context в Asio
Что такое «P1144» (trivial relocation) и какую оптимизацию он вносит?
Anonymous Quiz
6%
Предложение добавить тривиальные операторы сравнения для всех стандартных контейнеров STL
37%
Предложение позволить перемещать некоторые типы через memcpy + memset вместо move+destroy
14%
Оптимизация выравнивания объектов при перемещении между различными аллокаторами контейнеров
34%
Стандартизация семантики перемещения с нулевой стоимостью для trivially-movable типов в STL
9%
Расширение trivially copyable для поддержки типов с нетривиальным но быстрым деструктором
🤔3