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

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

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

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

РКН: https://gosuslugi.ru/snet/67a5bac324c8ba6dcaa1ad17
Download Telegram
⛓️🗄️ Соединения в SQL. Часть 1. Типы соединений и простые примеры

Соединения — это способ получения данных из нескольких таблиц с помощью SQL. В первой части статьи мы расскажем о типах соединений и рассмотрим несколько базовых примеров.

🔗Читать статью
6
Мы слишком сильно доверяем машинам. Даже код сгенерированный ChatGpt отправляем в продакшн😁

#memes
🤔10😁53👏1
🧑‍💻 Статьи для IT: как объяснять и распространять значимые идеи

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

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

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

👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
👍1
🧨 Чем отличаются ссылки от указателей в С++

Указатели

• Указатель — это переменная, которая содержит адрес ячейки памяти
• Указатели могут быть нулевыми (nullptr), что означает, что они не указывают ни на какую конкретную область памяти
• Указатели могут быть изменены для указания на другую область памяти
• Указатели могут указывать на массивы элементов
• Указатели могут использоваться для динамического выделения памяти с помощью оператора new и освобождения памяти с помощью оператора delete

Ссылки

• Ссылка — это альтернативное имя для существующей переменной
• Ссылка обязательно должна быть инициализирована при объявлении и не может быть изменена, чтобы указывать на другой объект
• Ссылки не могут быть нулевыми, они всегда указывают на существующий объект
• Ссылки не могут указывать на массивы элементов
• Ссылки обычно используются в качестве аргументов функций для передачи данных по ссылке, что позволяет изменять исходные значения переменных
👍22🤔3🥱2😁1
🧨 C++ Insights

C++ Insights — инструмент на базе clang, который выполняет преобразование исходного кода в другой исходный код😜. Его цель состоит в том, чтобы сделать видимым то, что обычно происходит за «кулисами» — показывает что компилятор выполняет перед компиляцией. Например разворачивает шаблоны, подставляет константы, генерирует код из описания лямбда-функций и многое другое

Очень полезная вещь, если хочешь лучше понимать как работать с C++ и какие действия выполняет компилятор перед непосредственно преобразованием кода в бинарный файл

👉C++ Insights
🔥23👍6
🔮 std::bitset

Шаблонный класс std::bitset предназначен для управления наборами битов, обеспечивая удобные методы для их установки, сброса и получения. Основная польза от него в том, что в нём можно компактно хранить булевы значения, не тратя на это целый байт, как при использовании обычного bool
👍41
⚙️ Лекция «Идея по улучшению многопоточного кода»

На YouTube канале C++ User Group вышла новая лекция Александра Корнилова — Идея по улучшению многопоточного кода

Александр описывает подход к написанию многопоточного кода, который помогает избежать типовых ошибок, связанных с использованием базовых примитивов синхронизации. Демонстрация идеи проходит на живых примерах кода на современном C++

👉Ссылка (YouTube)
👍9🥱2
🔍 Что такое std::filesystem?

std::filesystem — одной из самых полезных библиотек в C++, добавленной в стандартную библиотеку начиная с C++17. Это библиотека, предоставляющая мощные инструменты для работы с файловой системой. С ее помощью вы можно создавать, копировать, перемещать и удалять файлы и директории

Создание директории
- std::filesystem::create_directories(path)

Удаление директории
- std::filesystem::remove(path) — пустой директории
- std::filesystem::remove_all(path) — директории вместе с файлами

Копирование
- std::filesystem::copy(path_from, path_to)

👉Документация
👍313
💣 50 интересных веб сайтов по изучению C/C++

Список из 50-ти полезнейших сайтов, которые будут полезны каждому разработчику. Конечно в списке есть такие известные сайты как cplusplus.com и cppreference.com, куда же без них😊 Но также множество других полезных, но менее известных!

👉 Ссылка
👍13🔥2
⚙️ Почему нужно использовать extern «C» в коде?

Ключевое слово extern «C» используется для указания компилятору C++ на использование соглашения о вызовах функций, аналогичного тому, что используется в языке C. Это необходимо, потому что ABI (Application Binary Interface) C++ отличается от ABI C

Ключевое слово extern «C» сообщает компилятору C++, что функции, объявленные внутри этого блока, должны использовать соглашение о вызове, аналогичное C. Это гарантирует, что компилятор C++ не будет применять к ним особенности C++ ABI, и они будут корректно вызываться из C++ кода
👍271
😸 Реализация print() на C++

Продолжая тему реализации своей функции print. Предложу к прочтению статью. В ней автор рассказывает о своём опыте написания Python-овской функции print на C++

👉 Ссылка
👍13
⚙️ Зачем нужен std:string_view?

std::string_view — легковесный способ работы с неизменяемыми последовательностями символов, представленными строками, без копирования их данных

std::string_view — это просто пара значений, указатель на последовательность и размер

Так как std::string_view не является владельцем данных, то если строка исчезнет, то никто не информирует, что std::string_view перестал быть валидным

‼️ Основная идея — это дёшево хранить и передавать строки
👍92
🔟 10 суровых истин, которые должен знать каждый джун

Вы думаете, что карьера в ИТ — это сплошные плюшки? Забудьте! Реальность жестока: низкие зарплаты на старте, бесконечные задачи и битва за релокацию. Откройте глаза на суровые реалии прямо сейчас!

👉 Читать статью
👉 Зеркало
🌚42🥱2🔥1
💡 Статья Разработка игры на C++/SFML

Вводная статья про начало использования SFML для разработки игр. В статье даются материалы, которые необходимы чтобы начать пользоваться этой библиотекой и запустить свой собственный пример своей собственной игры😆

👉Ссылка
👍18
🔮 Что такое decltype?

decltype — это оператор в C++, позволяющий вам получить тип выражения во время компиляции. Это означает, что вы можете использовать decltype, чтобы определить тип переменной, неявно указывая его явным образом
👾8👍71
Операционная система xv6

Вышло продолжение перевода статей об учебной операционной система xv6

📚 Статьи
- Глава 5. Прерывания и драйверы устройств
- Глава 6. Блокировки
- Глава 7. Планирование процессов
6👍2🔥1
🧨 Почему decltype((var)) это ссылка?

Если a — это переменная, то (a) — это уже lvalue выражение, поэтому decltype((a)) и порождает ссылку

Здесь нету выражения как такового, выведение производится просто из грамматики (синтаксиса определения выражения)
👾8👍7🔥3
💪 Что не так с MVP: как создать конкурентоспособный продукт

Традиционная концепция MVP нуждается в пересмотре — авторы предлагают альтернативный подход, основанный на тесном взаимодействии с целевой аудиторией и непрерывных итерациях для создания действительно ценного продукта.

👉 Читать статью
👉 Зеркало
👍5🎉1