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

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

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

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

РКН: https://gosuslugi.ru/snet/67a5bac324c8ba6dcaa1ad17
加入频道
⚙️ Аппаратная компиляция: синтез специализированных ускорителей

В лекции рассказывается о способах ускорения компиляции с помощью аппаратных средств

👉Ссылка (YouTube)
🧨 Отличная подборка книг по языкам программирования и технологиям

В книгах всё разбито по темам описывающим наиболее частые вопросы задаваемые при использование языка

👉Ссылка
🔍 Что такое пользовательские суффиксы в C++?

Пользовательские суффиксы — это инструмент в C++, который позволяет определять собственные суффиксы для литералов. В основном используется для улучшения читаемости кода

📝 Особенности
- Вызов данной данной функций анализируется ещё на этапе анализа исходного кода
- В стандартных библиотеках суффикс может быть любым. Для пользователей только со знаком подчёркивания
💡 null pointer

В стандарте до C++11 нулевой указатель было просто определением (define). Главная проблема такого подхода в том что это просто define над int, проще говоря просто int

nullptr — появился в C++11. Это не настоящий указатель, это класс. Его нельзя привести к int. Можно присвоить только указателю
🔮 std::accumulate

std::accumulate — это функция в стандартной библиотеке C++, которая используется для вычисления суммы всех элементов в контейнере или диапазоне. Также можно использовать и другие функции кроме суммы, например умножение (std::multiplies<...>())

👉Документация
⚙️ Ключевое слово delete

С помощью ключевого слова delete можно удалить из методы из области видимости. Появилось в C++11, до этого проблема с запретом использования методов решалась переносом их в private область, но это не давала гарантии, что метод может быть использован внутри класса
⚙️ Даже в C++ есть антипаттерны

Команда PVS-Studio выпустила список из 60-ти антипатернов. Тут много неочевидных ньансов использования C++

👉Ссылка
Самые полезные каналы для программистов в одной подборке!

Сохраняйте себе, чтобы не потерять 💾

🔥Для всех

Библиотека программиста — новости, статьи, досуг, фундаментальные темы
Книги для программистов
IT-мемы
Proglib Academy — тут мы рассказываем про обучение и курсы

#️⃣C#

Книги для шарпистов | C#, .NET, F#
Библиотека шарписта — полезные статьи, новости и обучающие материалы по C#
Библиотека задач по C# — код, квизы и тесты
Библиотека собеса по C# — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Вакансии по C#, .NET, Unity Вакансии по PHP, Symfony, Laravel

☁️DevOps

Библиотека devops’а — полезные статьи, новости и обучающие материалы по DevOps
Вакансии по DevOps & SRE
Библиотека задач по DevOps — код, квизы и тесты
Библиотека собеса по DevOps — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования

🐘PHP

Библиотека пхпшника — полезные статьи, новости и обучающие материалы по PHP
Вакансии по PHP, Symfony, Laravel
Библиотека PHP для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по PHP — код, квизы и тесты

🐍Python

Библиотека питониста — полезные статьи, новости и обучающие материалы по Python
Вакансии по питону, Django, Flask
Библиотека Python для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Python — код, квизы и тесты

Java

Библиотека джависта — полезные статьи по Java, новости и обучающие материалы
Библиотека Java для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Java — код, квизы и тесты
Вакансии для java-разработчиков

👾Data Science

Книги для дата сайентистов | Data Science
Библиотека Data Science — полезные статьи, новости и обучающие материалы по Data Science
Библиотека Data Science для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Data Science — код, квизы и тесты
Вакансии по Data Science, анализу данных, аналитике, искусственному интеллекту

🦫Go

Книги для Go разработчиков
Библиотека Go разработчика — полезные статьи, новости и обучающие материалы по Go
Библиотека Go для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Go — код, квизы и тесты
Вакансии по Go

🧠C++

Книги для C/C++ разработчиков
Библиотека C/C++ разработчика — полезные статьи, новости и обучающие материалы по C++
Библиотека C++ для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по C++ — код, квизы и тесты
Вакансии по C++

💻Другие профильные каналы

Библиотека фронтендера
Библиотека мобильного разработчика
Библиотека хакера
Библиотека тестировщика

💼Каналы с вакансиями

Вакансии по фронтенду, джаваскрипт, React, Angular, Vue
Вакансии для мобильных разработчиков
Вакансии по QA тестированию
InfoSec Jobs — вакансии по информационной безопасности

📁Чтобы добавить папку с нашими каналами, нажмите 👉сюда👈

🤖Также у нас есть боты:
Бот с IT-вакансиями
Бот с мероприятиями в сфере IT

Мы в других соцсетях:
🔸VK
🔸YouTube
🔸Дзен
🔸Facebook *
🔸Instagram *

* Организация Meta запрещена на территории РФ
⛓️🗄️ Соединения в SQL. Часть 1. Типы соединений и простые примеры

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

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

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

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

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

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

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

Указатели

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

Ссылки

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

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

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

👉C++ Insights
🔮 std::bitset

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

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

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

👉Ссылка (YouTube)
🔍 Что такое 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)

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

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

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

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

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