TGViewer
Channel Public Channel
Библиотека C/C++ разработчика | cpp, boost, qt

Библиотека C/C++ разработчика | cpp, boost, qt

@cppproglib

Все самое полезное для плюсовика и сишника в одном канале.

Как запустить своего ии-агента: https://clc.to/tvpmDQ

По рекламе: @proglib_adv

Для обратной связи: @proglibrary_feeedback_bot

РКН: https://gosuslugi.ru/snet/67a5bac324c8ba6dcaa1ad17

#WXSSA
Subscribers
16.9K
Photos
2.3K
Videos
74
Links
4.6K

Showing posts older than #6208 · Back to latest

Older Posts 20 shown
Post #6207 3.02K
💻 ВАЖНО: макбук ещё не забрали!

Proglib.academy продолжает розыгрыш MacBook Pro 14» (M3 Pro, 36 Гб, 1 Тб SSD).

Что нужно для участия?

— Берёшь любой курс Академии до 15 ноября.
— Проходишь хотя бы 2 недели обучения (можно за два дня).
— Пишешь куратору #розыгрыш. Всё — ты в игре!

Что за курсы?

▫️Алгоритмы и структуры данных — если хочешь готовиться к собесам в Яндекс, FAANG и не сидеть на джуне вечно.

▫️Архитектуры и шаблоны проектирования — учат думать как senior, а не просто писать код.

▫️ Python, математика для DS, основы IT и другие темы — можно стартовать с нуля или усилить то, что уже знаешь.

👉 Влетай, не думай!
  • 😁 2
Post #6206 2.9K
🔧Видео: 5 способов улучшить C++ код

Нам часто приходится думать об оптимизации написанных нами приложений. Автор канала The Cherno разбирает пять вариантов для решения данной задачи.

✍️ Разбираем типичные ошибки и оптимизируем код:

✅ Перечисления вместо строк для типов ресурсов
✅ UUID вместо строковых идентификаторов
✅ Чистый код в синглтонах (delete безопасен с nullptr)
✅ Минимум shared_ptr — используйте стек и ссылки
✅ Правильная семантика владения объектами

👉 Видео

Библиотека C/C++ разработчика

#линкер_рекомендует
  • 👍 3
Post #6204 3.69K
🔥 Highlight — must-have расширение для VS Code

Если надоело искать TODO и FIXME в коде, то расширение Highlight превратит их в яркие цветные метки, которые невозможно пропустить.

😎 Что умеет:

• Подсвечивает TODO, FIXME, NOTE, HACK и другие маркеры прямо в коде
• Настраиваемые цвета и стили для каждого типа комментариев
• Поддерживает кастомные регулярки для своих меток
• Работает со всеми языками, включая C++

✍️ Пример использования:

// TODO: оптимизировать этот алгоритм
// FIXME: утечка памяти здесь
// NOTE: важное замечание про thread-safety


Все эти комментарии будут выделены разными цветами — красным для FIXME, жёлтым для TODO и т.д.

❗️Особенно полезно в больших проектах, где легко забыть о временных хаках. Устанавливается в пару кликов, настраивается через settings.json.

👉 Ссылка на расширение

Библиотека C/C++ разработчика

#буст
  • ❤ 6
  • 👍 4
  • ❤‍🔥 1
Post #6202 2.95K
🎁 И мозг прокачать, и макбук утащить!

Proglib.academy разыгрывает MacBook Pro 14 (M3 Pro, 36 GB, 1 TB SSD) 💻

Условия:

1️⃣ Покупаешь любой курс Proglib до 15 ноября.
2️⃣ Проходишь минимум 2 учебные недели (можно осилить за два вечера).
3️⃣ Пишешь куратору в чат своего курса: #розыгрыш.

Что за курсы?

— Математика для Data Science (6 месяцев боли и просветления).
— Основы Python, ML, алгоритмы, AI-агенты и даже курс для тех, кто в IT, но не кодит.

👉 Участвовать в розыгрыше
  • ❤‍🔥 1
  • 😁 1
Post #6201 3.02K
🐸 Подборка вакансий для C++-разработчиков за неделю

C developer — Удалёнка

Middle+ / Senior C++ developer — Удалёнка

Senior разработчик C++ в команду Core — Удалёнка

Middle Разработчик на C/C++ под Linux — от 250 000 и до 300 000 ₽

Главный разработчик С++ — Удалёнка

Senior Программист C/С++ — от 400 000 до 600 000 ₽ Гибрид (Москва)

Middle С++ Developer — Гибрид (Москва)

Software Engineer C/C++ — Гибрид (Москва) Удалёнка

Библиотека C/C++ разработчика
  • 👍 3
Post #6199 3.03K
🧠 Когда mutex — не панацея

Многопоточное программирование в C++ часто сводится к простой мантре: «Есть shared data — добавь mutex». Но реальность куда интереснее, и правильная синхронизация требует понимания нюансов.

Современный C++ предлагает богатый арсенал примитивов синхронизации. std::mutex решает базовые задачи, но для специфичных сценариев есть более эффективные инструменты.

std::shared_mutex (C++17) идеален для ситуаций с частым чтением и редкой записью — классический reader-writer lock. std::atomic обеспечивает lock-free синхронизацию для простых типов, но требует понимания memory ordering.

Ключевой момент — гранулярность блокировок. Слишком крупные критические секции убивают параллелизм, слишком мелкие создают оверхед. В high-performance системах часто используют lock-free структуры данных или hybrid подходы: например, thread-local буферы с периодической синхронизацией через lock.

Не стоит забывать про std::condition_variable для координации потоков и std::latch/std::barrier (C++20) для более сложных паттернов синхронизации. Правильный выбор примитива может дать разницу в производительности на порядок.


А как вы подходите к выбору механизма синхронизации? Полагаетесь на универсальный mutex или анализируете паттерны доступа к данным?



Библиотека C/C++ разработчика

#междусобойчик
  • ❤ 6
  • 👍 6
Post #6197 3.04K

Forwarded from Библиотека собеса по C++ | вопросы с собеседований

🎮 Плейлист с решением задач с Leetcode

Для тех, кто готовится к собеседованиям и хочет прокачать алгоритмическое мышление на C++: отличная подборка — плейлист «Blind 75 C++ Leetcode» с подробными пошаговыми разбором задач. Автор разбирает каждую из самых популярных задач LeetCode с фокусом на реальные паттерны, сложности и подводные камни интервью.

👉 Плейлист

Библиотека C/C++ разработчика

#линкер_рекомендует
  • 👍 6
  • ❤ 2
Post #6195 3.5K
🍴 Assert vs If: когда проверки только вредят

Часто в коде встречаются избыточные проверки, которые защищают от "невозможных" ситуаций:

void process(Config* config) {
if (config == nullptr) { // хотя config всегда валиден!
log_error("Config is null");
return;
}
// ...
}


❗️Проблема: такие if загромождают код, снижают производительность и создают иллюзию безопасности.

✅ Решение: использовать assert для проверки инвариантов — условий, которые всегда должны выполняться в корректной программе:

void process(Config* config) {
assert(config != nullptr && "Config cannot be null");
// ...
}


💡 Почему это лучше:

• В релизе (NDEBUG) код assert полностью удаляется — нет накладных расходов
• В горячих циклах это может означать миллионы сэкономленных проверок
• Меньше размер исполняемого файла
• assert явно документирует предусловия функции
• Баг обнаруживается сразу в Debug, а не прячется за логами


👉 Статья


Библиотека C/C++ разработчика

#буст
  • 👍 13
  • 🤔 3
  • ❤ 1
  • 🥱 1
  • 👾 1
Post #6188 3.26K
📰 Свеженькое из мира C++

Подготовили подборку самых интересных материалов за неделю о разных аспектах программирования и интересных проектах в мире C++.

🍖 Интересное:

• Красивое резюме = провал — статья о том почему могут игнорировать пезюме, даже если оно хорошее
• «Я хочу 500 000 рублей» и еще 8 способов договориться о зарплате — полезные рекомендации о том как просить зарплату повыше

😎 Полезное:

• std::partition — функция помогающая разделять данные по условию
• Как сократить бинарный код и не потерять нужную функциональность — статья об оптимизации кода с помощью флагов сборки
• Алокаторы — чек-лист о том какие есть аллокаторы в C++

🔥 Интересные проекты:

• cpp-httplib — кроссплатформенная HTTP/HTTPS-библиотека C++11, содержащая только заголовочные файлы
• Perfetto — набор SDK, демонов и инструментов с открытым исходным кодом, которые помогают реализовывать трассировку и профилирование


Библиотека C/C++ разработчика

#свежак
  • ❤ 4
  • 👍 1
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →