Библиотека C/C++ разработчика | cpp, boost, qt
21K subscribers
1.57K photos
40 videos
16 files
3.74K links
Все самое полезное для плюсовика и сишника в одном канале.

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

Учиться у нас: https://proglib.io/w/d6cd2932

Наши каналы: https://yangx.top/proglibrary/9197

РКН: https://gosuslugi.ru/snet/67a5bac324c8ba6dcaa1ad17
加入频道
🦾🧠🏋️Качаем мозги к лету!

Курс «Алгоритмы и структуры данных» для тех, кто хочет научиться работать с алгоритмами, подготовиться к собеседованию крупную IT-компанию и начать брать более сложные проекты.

➡️ Алгоритмы и структуры данных 35 990 ₽ 21 594

⭐️ Переходите и активируйте бесплатные вводные занятия курсаhttps://proglib.io/w/da6727d1

Вас ждут:

– 150 практических заданий и 47 видеолекций

– бессрочный доступ к обучению

– поддержка преподавателя в чате

А также очень харизматичный спикер из Яндекса 🙌🏻
🔮 std::exchange

std::exchange — функция добавленная в C++14. Она назначает новое значение первому аргументу, которое берёт из второго и возвращает старое значение первого аргумента

Если есть конструктор перемещения, то значение будет перемещено и не будет лишнего копирования

В отличие от std::swap, во второй аргумент ничего не перемешается, он остаётся без изменений
💣 Подборка крутых докладов по С++ за 2023 год

• Статья представляет подборку лучших докладов по С++ с прошлого сезона конференций

•Доклады охватывают различные темы, включая применение и развитие современного С++, безопасность кода и личностное развитие программиста

• Обсуждаются новые возможности C++23, которые меняют и улучшают работу программиста

• Рассматривается эволюция C++ и важность совместимости для дальнейшего успешного развития языка

👉 Ссылка
🔮 Семантические процессы в C++

В языке C++ есть синтаксис и семантика. Когда мы говорим о синтаксисе, мы говорим о контекстно-независимых конструкциях, которые просто что-то означают. Например, if — это всегда if

Но когда мы говорим о семантике, мы сталкиваемся с необходимостью для компилятора что-то сделать или что-то выяснить: разрешить имя, инстанцировать шаблон, вывести тип, вычислить константное выражение. Можно сказать что в каждый такой момент мы стартуем некий процесс, развивающийся по своим правилам

Представляю доклад посвящен описанию взаимодействующих семантических процессов в языке, как с точки зрения внутренностей компилятора, так и с точки зрения стандарта языка
😱 Что такое ошибка сегментации?

Ошибка сегментации (или segmentation fault) — вид ошибок связанный с обращением к памяти, которая не принадлежит процессу. Это вспомогательный механизм, который не дает вам «испортить» память и внедрить трудноотлаживаемые ошибки памяти. Когда вы получаете segfault, вы знаете, что делаете что-то не так с памятью — обращаетесь к переменной, которая уже была освобождена, записываете в часть памяти, доступную только для чтения, и т. д. Ошибка сегментации по сути одинакова в большинстве языков, позволяющих работать с памятью, принципиальной разницы между ошибками сегментации в C и C++ нет
🧨 Как очистить stringstream?

Для очистки содержимого строкового потока можно использовать
m.str("");

или
m.str(std::string());

что может быть более эффективно, из-за того что не вызываем конструктор std::string(const char*)
🍔 nocc — распределенный компилятор для гигантских проектов на C++

Известно, что С++ проекты очень долго компилируются. ccache может спасти локально, но современный деплой состоит из изолированных контейнеров, TeamCity, билд-агентов и прочего — там ccache не поможет

Есть такая вещь, как distcc — распределенная компиляция, ускорение за счет множества серверных нод

nocc — аналог distcc, только значительно более быстрый, и это дало им колоссальный прирост скорости сборки в реальных условиях

В докладе рассказывается про архитектуру, про особенности имплементации, про отличия от distcc и, конечно же, как использовать nocc в ваших С++ проектах

🔮 Содержание
• Распределенная компиляция PHP
• Как работает распределенная компиляция
• Компиляция плюсовых файлов на сервере
• Зеркалирование файловой структуры клиента на сервере
• Кэширование и оптимизация
• Заголовки и метаформатирование
• Применение вне КПП
• Проблемы с сервером
• Обновление серверов
• Обсуждение оптимизации компиляции
🧑‍💻 Статьи для IT: как объяснять и распространять значимые идеи

Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.

Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.

Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.

👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
🎭 7 типов программистов, которых вы встретите на собеседовании

Осторожно! Данная статья носит шуточный характер и не преследует цели обидеть кого-либо. Все ситуации выдуманы, а совпадения — случайны.

🔗 Читать статью
🔗 Зеркало