🐸 Подборка вакансий для C++-разработчиков за неделю
C++ разработчик — Офис (Санкт-Петербург)
Эксперт С++ в команду технологии автономного вождения — Офис (Москва)
Разработчик C++ — Удалёнка
Разработчик С/C++ — Офис (Новосибирск)
C++ Qt/QML Developer — от 200 000 и до 270 000 ₽ Удалёнка
Библиотека C/C++ разработчика
C++ разработчик — Офис (Санкт-Петербург)
Эксперт С++ в команду технологии автономного вождения — Офис (Москва)
Разработчик C++ — Удалёнка
Разработчик С/C++ — Офис (Новосибирск)
C++ Qt/QML Developer — от 200 000 и до 270 000 ₽ Удалёнка
Библиотека C/C++ разработчика
👍2😁1👾1
Элегантная работа с multiple return values и сложными структурами.
#include <map>
#include <tuple>
#include <array>
// Функция возвращает несколько значений
std::tuple<int, std::string, double> get_data() {
return {42, "hello", 3.14};
}
struct Point { int x, y; };
int main() {
// 1. Распаковка tuple
auto [id, name, price] = get_data();
std::cout << id << " " << name << " " << price << "\n";
// 2. Распаковка struct
Point p{10, 20};
auto [x, y] = p;
std::cout << "Point: " << x << ", " << y << "\n";
// 3. Распаковка array
std::array<int, 3> arr{1, 2, 3};
auto [first, second, third] = arr;
// 4. Распаковка map::insert результата
std::map<std::string, int> m;
auto [iterator, inserted] = m.insert({"key", 42});
if (inserted) {
std::cout << "Inserted: " << iterator->first << "\n";
}
// 5. Итерация по map с распаковкой
for (const auto& [key, value] : m) {
std::cout << key << " -> " << value << "\n";
}
// 6. Распаковка с модификаторами
auto& [rx, ry] = p; // Ссылки на члены
rx = 100; // Изменяем оригинал
}
Более читаемый код при работе с парами, tuple, структурами
Библиотека C/C++ разработчика
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8👍2
This media is not supported in your browser
VIEW IN TELEGRAM
❗ Так, владелец макбука. Хватит позировать в кофейне.
Настоящее портфолио — это не стикеры на крышке, а проект с чистым кодом, README и рабочей демкой.
Не знаешь, как такой собрать? Научим. Наш курс «ML для старта в Data Science» — это пошаговый гайд к проекту, за который не стыдно.
ОСТАЛАСЬ НЕДЕЛЯ, чтобы забрать его по старой цене в 44.000 ₽. С 1 сентября — всё.
🎁 И да, при покупке курса ML до 1 сентября — курс по Python получаешь бесплатно.
👉 Апгрейд от «вайба» до «оффера» тут
Настоящее портфолио — это не стикеры на крышке, а проект с чистым кодом, README и рабочей демкой.
Не знаешь, как такой собрать? Научим. Наш курс «ML для старта в Data Science» — это пошаговый гайд к проекту, за который не стыдно.
ОСТАЛАСЬ НЕДЕЛЯ, чтобы забрать его по старой цене в 44.000 ₽. С 1 сентября — всё.
🎁 И да, при покупке курса ML до 1 сентября — курс по Python получаешь бесплатно.
👉 Апгрейд от «вайба» до «оффера» тут
😁2
Мы сделаем вам предложение, от которого невозможно отказаться 🤌
Вы покупаете себе курс «Математика для Data Science» от преподавателей ВМК МГУ, а мы дарим второй такой же курс вашему другу.
Предложение действует только до 1 сентября. Ничего личного, просто математика.
👉 Принять предложение
Вы покупаете себе курс «Математика для Data Science» от преподавателей ВМК МГУ, а мы дарим второй такой же курс вашему другу.
Предложение действует только до 1 сентября. Ничего личного, просто математика.
👉 Принять предложение
❤🔥1😁1
⚡️ 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 всё равно далеко не уедешь.
👉 Научим, как строить агентов, которые кодят с тобой
😁16🎉10⚡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
👍1
Вызов функций с аргументами из 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👍5
⏰ Осталось 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
35%
Нет, ссылки на ссылки запрещены
10%
Да, но только в template-ах (reference collapsing)
6%
Да, но только для временных объектов
6%
Только в C++26