⌨️ Топ-вакансий для C++разработчиков за неделю
Embedded разработчик C/C++ — до 230 000 ₽ Гибрид (Екатеринбург)
Lead Algorithms and Models L2+ Layer Manager — от 300 000 ₽ Удалёнка (Москва, Санкт-Петербург, Нижний Новгород)
Реверс-инженер / разработчик C/C++ (Windows) — от 200 000 до 300 000 ₽ Офис (Москва)
Senior C++ Qt Developer — от 5 000 до 5 900 $ Удалёнка (Москва)
C++ Developer — 300 000 — 400 000 ₽ Удалёнка
➡️ Еще больше топовых вакансий — в нашем канале C++ jobs
Embedded разработчик C/C++ — до 230 000 ₽ Гибрид (Екатеринбург)
Lead Algorithms and Models L2+ Layer Manager — от 300 000 ₽ Удалёнка (Москва, Санкт-Петербург, Нижний Новгород)
Реверс-инженер / разработчик C/C++ (Windows) — от 200 000 до 300 000 ₽ Офис (Москва)
Senior C++ Qt Developer — от 5 000 до 5 900 $ Удалёнка (Москва)
C++ Developer — 300 000 — 400 000 ₽ Удалёнка
➡️ Еще больше топовых вакансий — в нашем канале C++ jobs
❤1
😎 Hint: Оптимизация std::vector
Знаете ли вы, что можно значительно ускорить работу с вектором, если заранее выделить память?
Метод reserve() позволяет избежать многократных перераспределений памяти:
Это может в разы увеличить работу с большими векторами.
Библиотека C/C++ разработчика #буст
Знаете ли вы, что можно значительно ускорить работу с вектором, если заранее выделить память?
Метод reserve() позволяет избежать многократных перераспределений памяти:
std::vector v;
v.reserve(1000); // выделяем память сразу
for(int i = 0; i < 1000; ++i) {
v.push_back(i); // не будет перевыделений памяти
}
Это может в разы увеличить работу с большими векторами.
Библиотека C/C++ разработчика #буст
🔥20🥱19👍3
✅ Грин-флаги в вакансиях: 10 признаков хорошего работодателя
Прозрачная зарплата, четкое описание обязанностей и конкретные условия работы — это лишь часть признаков качественной вакансии. На примерах из реальных объявлений о работе мы покажем, как отфильтровать предложения и выбрать компанию, в которой вы действительно захотите работать.
В статье рассматривается ключевые «грин-флаги» на примерах из реальных вакансий.
👉 Читать статью
Библиотека C/C++ разработчика
Прозрачная зарплата, четкое описание обязанностей и конкретные условия работы — это лишь часть признаков качественной вакансии. На примерах из реальных объявлений о работе мы покажем, как отфильтровать предложения и выбрать компанию, в которой вы действительно захотите работать.
В статье рассматривается ключевые «грин-флаги» на примерах из реальных вакансий.
👉 Читать статью
Библиотека C/C++ разработчика
👍5🙏1
Устали от споров «что лучше передать: вектор, массив или указатель с длиной»? C++20 предлагает элегантное решение!
#include <span>
#include <vector>
#include <array>
// ✅ Функция работает с ЛЮБЫМ непрерывным контейнером!
void processData(std::span<const int> data) {
for (const auto& item : data) {
// Обработка
}
}
int main() {
// Работает с std::vector
std::vector<int> vec = {1, 2, 3, 4, 5};
processData(vec);
// Работает с std::array
std::array<int, 3> arr = {10, 20, 30};
processData(arr);
// Работает с C-массивами
int classic[] = {100, 200, 300};
processData(classic);
// Работает с подпоследовательностями!
processData(std::span(vec).subspan(1, 3)); // Только элементы 2,3,4
}
- Не владеет данными (zero overhead)
- Безопасно передает подпоследовательности
- Унифицированный интерфейс для всех контейнеров
- Выразительный код без шаблонных параметров
Библиотека C/C++ разработчика #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍22
Есть желание использовать современные языковые фитчи, но переписывать код в ручную долго и скучно, тогда можно воспользоваться помощью искусственного интеллекта😄
Для того чтобы сделать свой код более современным используй следующий промпт:
Refactor the following code to modern [Тут напиши стандарт] programming standards:
[Сюда вставь свой код]
Refactor the following code to modern c++23 programming standards:
int* createIntArray(int size) {
int* arr = new int[size];
for (int i = 0; i < size; ++i) {
arr[i] = i * i;
}
return arr;
}
#include <memory>
#include <vector>
#include <algorithm>
// Option 1: Return a std::vector (recommended for most cases)
auto createIntArray(int size) -> std::vector<int> {
std::vector<int> arr(size);
std::ranges::generate(arr, [i = 0]() mutable { return i * i++; });
return arr;
}
// Option 2: Return a std::unique_ptr (if you specifically need heap allocation)
auto createIntArrayUnique(int size) -> std::unique_ptr<int[]> {
auto arr = std::make_unique<int[]>(size);
for (int i = 0; i < size; ++i) {
arr[i] = i * i;
}
return arr;
}
Это достаточно простой и быстрый способ привести код к текущему стандарту. К сожалению результат работы промпта всё де придётся проверить, так как текущая реализация AI далека от идеала, но даже так времени можно сэкономить массу.
Библиотека C/C++ разработчика #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
🥱11🔥3❤1👍1
😱 Любителям x86-64 assembler посвящается: DIY волокна в C++
💡 Автор статьи погружается в захватывающий мир волокон в C++ и показывает, как реализовать их без поддержки компилятора с помощью ассемблерных вставок.
❗ Ключевые моменты статьи:
• волокна — наименьшая единица исполнения, невидимая для ядра ОС
• переключение контекста происходит через
• различия реализации для 32- и 64-битных систем
Основной фокус — практическая реализация своих собственных волокон с детальным разбором управления стеком, переключения контекста и жизненного цикла волокна от создания до завершения.
Статья будет особенно полезна C++ разработчикам, интересующимся низкоуровневым программированием и оптимизацией производительности без использования системных вызовов.
Вы узнаете, как избежать дорогостоящих переключений между
Библиотека C/C++ разработчика #буст
💡 Автор статьи погружается в захватывающий мир волокон в C++ и показывает, как реализовать их без поддержки компилятора с помощью ассемблерных вставок.
❗ Ключевые моменты статьи:
• волокна — наименьшая единица исполнения, невидимая для ядра ОС
• переключение контекста происходит через
yield()
без обращения к ядру• различия реализации для 32- и 64-битных систем
Основной фокус — практическая реализация своих собственных волокон с детальным разбором управления стеком, переключения контекста и жизненного цикла волокна от создания до завершения.
Статья будет особенно полезна C++ разработчикам, интересующимся низкоуровневым программированием и оптимизацией производительности без использования системных вызовов.
Вы узнаете, как избежать дорогостоящих переключений между
user space
и kernel space
, но помните — с большой силой приходит большая ответственность: неправильная работа со стеком может привести к непредсказуемым последствиям в вашей программе.Библиотека C/C++ разработчика #буст
👍10
📱 Кроссплатформенная разработка: что предпочитаете?
Часто приходит в голову идея написать классное приложение под десктоп, с приятным
А) Нативные решения для каждой платформы
Б) Фреймворки типа Qt/wxWidgets
В) Веб-технологии (Electron и подобные)
Г) Flutter/React Native для мобильных
Д) Другой подход
✍️ Расскажите о своем опыте с выбранным подходом. С какими проблемами столкнулись? Что порекомендуете новичкам?
Библиотека C/C++ разработчика #междусобойчик
Часто приходит в голову идея написать классное приложение под десктоп, с приятным
GUI
, но всегда приходится выбирать пользоваться нативными решениями или искать кроссплатформенные фреймворки.А) Нативные решения для каждой платформы
Б) Фреймворки типа Qt/wxWidgets
В) Веб-технологии (Electron и подобные)
Г) Flutter/React Native для мобильных
Д) Другой подход
✍️ Расскажите о своем опыте с выбранным подходом. С какими проблемами столкнулись? Что порекомендуете новичкам?
Библиотека C/C++ разработчика #междусобойчик
👍5
🚨 Смешные новости про IT теперь в одном канале
Мы запустили @hahacker_news — наш новый юмористический IT-канал.
Туда будем постить лучшие шутки до 19го мая, которые вы присылали на конкурс.
👉 @hahacker_news — голосование уже идёт, переходите, читайте, угарайте и оставляйте реакции
Мы запустили @hahacker_news — наш новый юмористический IT-канал.
Туда будем постить лучшие шутки до 19го мая, которые вы присылали на конкурс.
👉 @hahacker_news — голосование уже идёт, переходите, читайте, угарайте и оставляйте реакции
😁1
🧑💻 Множественное выделение и мультикурсоры в VS Code
Мультикурсоры — это функция
Как использовать:
• Alt+Click — добавить дополнительный курсор в выбранной позиции
• Ctrl+Alt+↑/↓ — добавить курсоры на строках выше/ниже текущей
• Ctrl+D — выделить следующее вхождение текущего выделения
• Alt+Shift+I — добавить курсор в конец каждой выделенной строки
При работе особенно полезно для одновременной замены имён переменных, типов или для добавления логгирования во множество однотипных блоков.
Библиотека C/C++ разработчика #буст
Мультикурсоры — это функция
VS Code
, которая позволяет одновременно редактировать код в нескольких местах файла. Эта техника существенно ускоряет массовое редактирование однотипных фрагментов, например, при переименовании переменных в C++ коде.Как использовать:
• Alt+Click — добавить дополнительный курсор в выбранной позиции
• Ctrl+Alt+↑/↓ — добавить курсоры на строках выше/ниже текущей
• Ctrl+D — выделить следующее вхождение текущего выделения
• Alt+Shift+I — добавить курсор в конец каждой выделенной строки
При работе особенно полезно для одновременной замены имён переменных, типов или для добавления логгирования во множество однотипных блоков.
Библиотека C/C++ разработчика #буст
👍8🤔1🥱1
🔥 Модули в C++, проблемы и решения
💡 Константин Владимиров раскрывает глубокие технические аспекты внедрения модулей в C++, сравнивая этот процесс с «варкой каши из топора» — долго и сложно, но результат того стоит.
❗ Ключевые моменты:
- модули не ускоряют компиляцию мгновенно — требуется переосмысление архитектуры;
- проблемы с макросостояниями и их решение через глобальные фрагменты;
- переход на компонентный подход и отказ от циклических зависимостей.
Основной фокус доклада — практические аспекты работы с модулями, от проблем с линковкой до взаимодействия с системами сборки и существующими библиотеками.
Вы узнаете, почему простой переход на модули без изменения подхода к декомпозиции системы — это путь в никуда, и как правильно «сварить кашу из топора», чтобы получить реальные преимущества новой технологии.
👉 Видео
Библиотека C/C++ разработчика
«Мы выползли на свет!... После 20+ лет разработки!» — так долго мы ждали модулей C++, которые наконец-то стали работать.
💡 Константин Владимиров раскрывает глубокие технические аспекты внедрения модулей в C++, сравнивая этот процесс с «варкой каши из топора» — долго и сложно, но результат того стоит.
❗ Ключевые моменты:
- модули не ускоряют компиляцию мгновенно — требуется переосмысление архитектуры;
- проблемы с макросостояниями и их решение через глобальные фрагменты;
- переход на компонентный подход и отказ от циклических зависимостей.
Основной фокус доклада — практические аспекты работы с модулями, от проблем с линковкой до взаимодействия с системами сборки и существующими библиотеками.
Вы узнаете, почему простой переход на модули без изменения подхода к декомпозиции системы — это путь в никуда, и как правильно «сварить кашу из топора», чтобы получить реальные преимущества новой технологии.
👉 Видео
Библиотека C/C++ разработчика
🥰2🔥1
🔎 Может среди нас есть любители кроссвордов?
👋 Привет, кодеры. Сегодня у нас небольшой челлендж для C++ разработчиков.
Разгадай наш тематический кроссворд и проверь, насколько хорошо ты знаешь любимый язык программирования! 🤓
По горизонтали:
1. Контейнер типа «ключ-значение»
3. Тип данных для хранения текста
4. Пользовательский тип данных, объединяющий разные переменные
По вертикали:
2. Способность объектов с одинаковым интерфейсом иметь различную реализацию
P.S. Слова на английском языке
Библиотека C/C++ разработчика #междусобойчик
👋 Привет, кодеры. Сегодня у нас небольшой челлендж для C++ разработчиков.
Разгадай наш тематический кроссворд и проверь, насколько хорошо ты знаешь любимый язык программирования! 🤓
По горизонтали:
1. Контейнер типа «ключ-значение»
3. Тип данных для хранения текста
4. Пользовательский тип данных, объединяющий разные переменные
По вертикали:
2. Способность объектов с одинаковым интерфейсом иметь различную реализацию
P.S. Слова на английском языке
Библиотека C/C++ разработчика #междусобойчик
🥱7👍3🔥1
Forwarded from Библиотека задач по C++ | тесты, код, задания
Forwarded from Библиотека задач по C++ | тесты, код, задания
Что выведет код, использующий концепты и requires (C++20)?
Anonymous Quiz
17%
addable
61%
not addable
13%
Ошибка компиляции
9%
Неопределённое поведение
📰 Свеженькое из мира C++
Недельный дайджест новостей о разных аспектах программирования и интересных проектах в мире C++.
🥳 Интересное:
• Любителям x86-64 assembler посвящается: DIY волокна в C++
• Что нового для разработчиков C++ в Visual Studio 2022 17.14
😎 Полезное:
• Модули в C++, проблемы и решения
• Множественное выделение и мультикурсоры в VS Code
🖨 Интересные проекты
- LEGO Island Decompilation
Полная декомиляция игры LEGO Island
- Wazuh v4.12.0
Вышла новая версия open source платформs используемой для предотвращения, обнаружения и реагирования на угрозы. Она способна защищать рабочие нагрузки в локальных, виртуализированных, контейнеризированных и облачных средах.
- QtScrcpy
Отображение и управление устройствами
Библиотека C/C++ разработчика #свежак
Недельный дайджест новостей о разных аспектах программирования и интересных проектах в мире C++.
🥳 Интересное:
• Любителям x86-64 assembler посвящается: DIY волокна в C++
• Что нового для разработчиков C++ в Visual Studio 2022 17.14
😎 Полезное:
• Модули в C++, проблемы и решения
• Множественное выделение и мультикурсоры в VS Code
🖨 Интересные проекты
- LEGO Island Decompilation
Полная декомиляция игры LEGO Island
- Wazuh v4.12.0
Вышла новая версия open source платформs используемой для предотвращения, обнаружения и реагирования на угрозы. Она способна защищать рабочие нагрузки в локальных, виртуализированных, контейнеризированных и облачных средах.
- QtScrcpy
Отображение и управление устройствами
Android
через USB
или по сети. Библиотека C/C++ разработчика #свежак
🔥2🥰1
Forwarded from Библиотека задач по C++ | тесты, код, задания
Forwarded from Библиотека задач по C++ | тесты, код, задания
Что произойдёт при использовании источников диапазонов (C++20)?
Anonymous Quiz
18%
12
48%
34
20%
345
14%
Ошибка компиляции
👍3👏3
🏖️ Open Source и C++: делай что должен и свершится, чему суждено
💡 Автор рассказывает о своём опыте создания и развития
❗ Ключевые моменты:
• C++ сложен для кросс-платформенных open source проектов из-за отсутствия устоявшихся паттернов сборки и распространения
• Версионирование, сборка и управление зависимостями в C++ проектах занимают значительную часть времени разработки
• Daggy эволюционировал от простой утилиты до экосистемы декларативного стриминга и агрегации данных с различными провайдерами
Основной фокус истории — практические проблемы, с которыми столкнулся автор при переходе от локального инструмента к полноценному кросс-платформенному open source проекту.
Особенно полезно для C++ разработчиков, которые планируют публиковать свои проекты в open source или работают над кросс-платформенными решениями.
Несмотря на все сложности, автор продолжает развивать проект и призывает сообщество присоединиться — наглядный пример того, что даже «сложный путь» может привести к созданию полезного инструмента, если у вас есть настойчивость и чёткое понимание проблемы, которую вы решаете.
👉 Статья
Библиотека C/C++ разработчика
«Я хотел сделать простой C++ open source проект... а получил головную боль с кросс-платформенной сборкой и распространением» — такие комментарии часто встречаются среди разработчиков, решивших поделиться своим кодом с миром.
💡 Автор рассказывает о своём опыте создания и развития
Daggy
— утилиты для исследования микросервисов и агрегации данных, написанной на C++
с использованием Qt
.❗ Ключевые моменты:
• C++ сложен для кросс-платформенных open source проектов из-за отсутствия устоявшихся паттернов сборки и распространения
• Версионирование, сборка и управление зависимостями в C++ проектах занимают значительную часть времени разработки
• Daggy эволюционировал от простой утилиты до экосистемы декларативного стриминга и агрегации данных с различными провайдерами
Основной фокус истории — практические проблемы, с которыми столкнулся автор при переходе от локального инструмента к полноценному кросс-платформенному open source проекту.
Особенно полезно для C++ разработчиков, которые планируют публиковать свои проекты в open source или работают над кросс-платформенными решениями.
Несмотря на все сложности, автор продолжает развивать проект и призывает сообщество присоединиться — наглядный пример того, что даже «сложный путь» может привести к созданию полезного инструмента, если у вас есть настойчивость и чёткое понимание проблемы, которую вы решаете.
👉 Статья
Библиотека C/C++ разработчика
👍3❤1
⌨️ Топ-вакансий для C++разработчиков за неделю
Team Lead C++/Rust — 360 000 — 450 000 ₽ Удалёнка
Разработчик C++ — 200 000 — 250 000 ₽ Удалёнка
Разработчик C/С++ — 200 000 — 250 000 ₽ Удалёнка
ML Engineer — 5 000 — 7 000 € Удалёнка
➡️ Еще больше топовых вакансий — в нашем канале C++ jobs
Библиотека C/C++ разработчика #свежак
Team Lead C++/Rust — 360 000 — 450 000 ₽ Удалёнка
Разработчик C++ — 200 000 — 250 000 ₽ Удалёнка
Разработчик C/С++ — 200 000 — 250 000 ₽ Удалёнка
ML Engineer — 5 000 — 7 000 € Удалёнка
➡️ Еще больше топовых вакансий — в нашем канале C++ jobs
Библиотека C/C++ разработчика #свежак
👍4🌚1