⚡️ Constexpr эволюция — от C++11 до C++23
Хотите больше вычислений во время компиляции для максимальной производительности?
constexpr развивался от простых функций в C++11 до полноценного compile-time программирования в C++20. Позволяет выполнять сложную логику на этапе компиляции.
💡 C++11 — только простые функции:
💡 C++14 — циклы и условия:
💡 C++20 — std::vector и dynamic memory:
💡 C++23 — constexpr std::string:
Библиотека C/C++ разработчика
#буст
Хотите больше вычислений во время компиляции для максимальной производительности?
constexpr развивался от простых функций в C++11 до полноценного compile-time программирования в C++20. Позволяет выполнять сложную логику на этапе компиляции.
constexpr int factorial(int n) {
return n <= 1 ? 1 : n * factorial(n - 1);
}
constexpr int sum_array(const int* arr, size_t size) {
int sum = 0;
for (size_t i = 0; i < size; ++i) {
sum += arr[i];
}
return sum;
}
constexpr std::vector<int> make_sequence(int n) {
std::vector<int> result;
for (int i = 0; i < n; ++i) {
result.push_back(i * i);
}
return result;
}
constexpr std::string process_text() {
std::string result = "Hello, ";
result += "constexpr world!";
return result;
}
constexpr auto text = process_text(); // Во время компиляции!
Библиотека C/C++ разработчика
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥14❤3👍3
📢 Какой сетап идеально подойдёт для разработки AI-агента?
Голосуйте за свой вариант и пишите в комментариях, в каком режиме вы реально кодите.
❤️ — 1
👍 — 2
⚡️ — 3
👏 — 4
🔥 — 5
🎉 — 6
😁 — 7
😍 — 8
🤩 — 9
Какой бы сетап ни был, без AI-агентов в 2025 всё равно далеко не уедешь.
👉 Научим, как строить агентов, которые кодят с тобой
Голосуйте за свой вариант и пишите в комментариях, в каком режиме вы реально кодите.
❤️ — 1
👍 — 2
⚡️ — 3
👏 — 4
🔥 — 5
🎉 — 6
😁 — 7
😍 — 8
🤩 — 9
Какой бы сетап ни был, без AI-агентов в 2025 всё равно далеко не уедешь.
👉 Научим, как строить агентов, которые кодят с тобой
😁17🎉12⚡3👍2❤1
👾 Скрытые ловушки встроенной сборки в C++
В видео разбирается фундаментальная проблема несовместимости моделей параллелизма C++ (RC11) и x86, возникающая при использовании встроенной сборки.
❗ Ключевые моменты доклада:
• невременные хранилища (non-temporal stores) обходят кэш и нарушают синхронизацию acquire-release
• стандартные режимы доступа RC11 не могут корректно моделировать встроенную сборку
• предлагается расширение модели с тремя новыми режимами доступа: TSO, non-temporal и store fence
Основной фокус — разработка семантики, которая позволяет корректно совмещать высокоуровневые конструкции C++ с низкоуровневыми инструкциями x86 в одной программе.
Вы поймёте, почему простое добавление inline assembly может привести к data race и нарушению корректности многопоточной программы, даже если код выглядит безопасным с точки зрения модели памяти C++.
👉 Видео
Библиотека C/C++ разработчика
#буст
В видео разбирается фундаментальная проблема несовместимости моделей параллелизма C++ (RC11) и x86, возникающая при использовании встроенной сборки.
❗ Ключевые моменты доклада:
• невременные хранилища (non-temporal stores) обходят кэш и нарушают синхронизацию acquire-release
• стандартные режимы доступа RC11 не могут корректно моделировать встроенную сборку
• предлагается расширение модели с тремя новыми режимами доступа: TSO, non-temporal и store fence
Основной фокус — разработка семантики, которая позволяет корректно совмещать высокоуровневые конструкции C++ с низкоуровневыми инструкциями x86 в одной программе.
Вы поймёте, почему простое добавление inline assembly может привести к data race и нарушению корректности многопоточной программы, даже если код выглядит безопасным с точки зрения модели памяти C++.
👉 Видео
Библиотека C/C++ разработчика
#буст
🔥3😁2🤔1
Forwarded from Библиотека программиста | программирование, кодинг, разработка
Внутри — ресурсы для тех, кто хочет прокачаться технически, расширить кругозор и быть в курсе событий.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Вызов функций с аргументами из tuple требует распаковки вручную.
cppauto args = std::make_tuple(1, 2.5, "hello");
// Как передать все аргументы в функцию?
func(std::get<0>(args), std::get<1>(args), std::get<2>(args));
cppauto args = std::make_tuple(1, 2.5, "hello");
std::apply(func, args); // Автоматическая распаковка!
• Вызов конструкторов: std::apply([](auto... args){ return T{args...}; }, tuple)
• Функциональное программирование
• Рефлексия: вызов методов с динамическими аргументами
Библиотека C/C++ разработчика
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
❤12👍6
⏰ Осталось 48 часов!
Обратный отсчёт пошёл: только до воскресенья 23:59 можно купить курс «AI-агенты для DS-специалистов» и начать учиться уже с 15 сентября.
⚡️ Это ваши +3 недели форы, чтобы спокойно разобраться в самых сложных темах и прийти к первому занятию 7 октября уже подготовленным.
👉 Забрать место
Обратный отсчёт пошёл: только до воскресенья 23:59 можно купить курс «AI-агенты для DS-специалистов» и начать учиться уже с 15 сентября.
⚡️ Это ваши +3 недели форы, чтобы спокойно разобраться в самых сложных темах и прийти к первому занятию 7 октября уже подготовленным.
👉 Забрать место
❤1😁1
🤓 «Сначала выучу Python идеально, а потом пойду в ML»
Звучит логично, но на практике — ловушка.
Python огромный: фреймворки, библиотеки, нюансы синтаксиса. Учить «всё сразу» можно бесконечно.
В итоге — месяцы зубрёжки, а до ML руки так и не доходят.
На старте достаточно баз: типы данных, циклы, функции, работа с библиотеками. Всё остальное лучше подтягивать в процессе решения ML-задач.
⚠️ До 1 сентября курсы можно забрать по старым ценам. Это последние выходные, когда:
— ML идёт за 34 000 вместо 44 000 ₽ + Python в подарок,
— два в одном: оплатите курс по математике и получите второй доступ в подарок,
— и главное: можно купить все курсы до подорожания.
👉 ML для старта в Data Science
А для будущих Data Scientist’ов у нас ещё:
— Базовые модели ML и приложения
— Математика для Data Science
— AI-агенты для DS-специалистов (2-й поток скоро)
Звучит логично, но на практике — ловушка.
Python огромный: фреймворки, библиотеки, нюансы синтаксиса. Учить «всё сразу» можно бесконечно.
В итоге — месяцы зубрёжки, а до ML руки так и не доходят.
На старте достаточно баз: типы данных, циклы, функции, работа с библиотеками. Всё остальное лучше подтягивать в процессе решения ML-задач.
⚠️ До 1 сентября курсы можно забрать по старым ценам. Это последние выходные, когда:
— ML идёт за 34 000 вместо 44 000 ₽ + Python в подарок,
— два в одном: оплатите курс по математике и получите второй доступ в подарок,
— и главное: можно купить все курсы до подорожания.
👉 ML для старта в Data Science
А для будущих Data Scientist’ов у нас ещё:
— Базовые модели ML и приложения
— Математика для Data Science
— AI-агенты для DS-специалистов (2-й поток скоро)
❤1
Можно ли в C++ создать ссылку на ссылку?
Anonymous Quiz
42%
Да, это называется double reference
36%
Нет, ссылки на ссылки запрещены
10%
Да, но только в template-ах (reference collapsing)
5%
Да, но только для временных объектов
6%
Только в C++26
ПОСЛЕДНИЙ ДЕНЬ❗
КУРСЫ ПОДОРОЖАЮТ ЗАВТРА‼️
— ML за 34к вместо 44к + Python в подарок
— Математика → второй доступ в подарок
— Ранний доступ к AI-агентам с 15 сентября
— И МОЖНО УСПЕТЬ КУПИТЬ ВСЁ ДО ПОДОРОЖАНИЯ
👉 Proglib Academy
КУРСЫ ПОДОРОЖАЮТ ЗАВТРА‼️
— ML за 34к вместо 44к + Python в подарок
— Математика → второй доступ в подарок
— Ранний доступ к AI-агентам с 15 сентября
— И МОЖНО УСПЕТЬ КУПИТЬ ВСЁ ДО ПОДОРОЖАНИЯ
👉 Proglib Academy
😁2
📰 Свеженькое из мира C++
Подготовили подборку самых интересных материалов за неделю о разных аспектах программирования и интересных проектах в мире C++.
😼 Интересное:
• Constexpr эволюция — от C++11 до C++23 — история развития constexpr
😎 Полезное:
• Structured Bindings: распаковка данных — элегантная работа с multiple return values и сложными структурами
• Скрытые ловушки встроенной сборки в C++ — разбор фундаментальных проблем несовместимости моделей параллелизма
• std::apply — способ упрощения написания кода с помощью
🔥 Интересные проекты:
• DevilutionX — это порт Diablo и Hellfire, призванный упростить управление игрой, а также внести улучшения в движок
• SwapTube — приложение для кодирования видео построенное на базе FFMPEG
• FlatBuffers — кроссплатформенная библиотека сериализации, разработанная для максимальной эффективности использования памяти
Библиотека C/C++ разработчика
Подготовили подборку самых интересных материалов за неделю о разных аспектах программирования и интересных проектах в мире C++.
😼 Интересное:
• Constexpr эволюция — от C++11 до C++23 — история развития constexpr
😎 Полезное:
• Structured Bindings: распаковка данных — элегантная работа с multiple return values и сложными структурами
• Скрытые ловушки встроенной сборки в C++ — разбор фундаментальных проблем несовместимости моделей параллелизма
• std::apply — способ упрощения написания кода с помощью
std::apply
🔥 Интересные проекты:
• DevilutionX — это порт Diablo и Hellfire, призванный упростить управление игрой, а также внести улучшения в движок
• SwapTube — приложение для кодирования видео построенное на базе FFMPEG
• FlatBuffers — кроссплатформенная библиотека сериализации, разработанная для максимальной эффективности использования памяти
Библиотека C/C++ разработчика
❤4👍1
Forwarded from Библиотека задач по C++ | тесты, код, задания
Что выведет код (примерно)?
Anonymous Quiz
54%
bool
9%
int
7%
char
6%
Ошибка компиляции
25%
Что-то с "proxy" или похожее
😁17
🐸 Подборка вакансий для C++-разработчиков за неделю
Инженер-разработчик встраиваемых систем (Middle-Embedded) — до 370 000 ₽ Офис (Елабуга)
Middle Разработчик на C/C++ под Linux — от 250 000 и до 300 000 ₽ Удалёнка
Senior C++ Developer — от 350 000 ₽ Удалёнка
Программист С++ — от 250 000 ₽ Удалёнка
Разработчик Qt/C++ — Удалёнка
Разработчик на С++ (Инфраструктура Алисы / DWH) — от 300 000 и до 490 000 ₽ Гибрид (Москва)
Библиотека C/C++ разработчика
Инженер-разработчик встраиваемых систем (Middle-Embedded) — до 370 000 ₽ Офис (Елабуга)
Middle Разработчик на C/C++ под Linux — от 250 000 и до 300 000 ₽ Удалёнка
Senior C++ Developer — от 350 000 ₽ Удалёнка
Программист С++ — от 250 000 ₽ Удалёнка
Разработчик Qt/C++ — Удалёнка
Разработчик на С++ (Инфраструктура Алисы / DWH) — от 300 000 и до 490 000 ₽ Гибрид (Москва)
Библиотека C/C++ разработчика
❤1