Библиотека 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-мемы
Proglib Academy — тут мы рассказываем про обучение и курсы

#️⃣C#

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

☁️DevOps

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

🐘PHP

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

🐍Python

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

Java

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

👾Data Science

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

🦫Go

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

🧠C++

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

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

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

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

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

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

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

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

* Организация Meta запрещена на территории РФ
🔟🏢 ТОП-10 российских IT-работодателей

Рейтинг работодателей, которые могут конкурировать по условиям труда с лидерами рынка.

Читать статью

#почитать
🤔 Очередной #дайджест по С++

Быстрые и надёжные сигналы-слоты в C++ — библиотека сигналов-слотов, совместимая с Boost.Signals2

userver 1.0 — о крупных вещах (вебсокеты, MySQL) и о библиотеке для повседневной C++ разработки (FastPimpl, TrivialBiMap)

Мигаем OLED дисплеем и делаем измеритель концентрации CO2 — рассказ о любопытном микроконтроллере на ядре RISC-V и простое первое устройство

Coding Challenges — для новичков и не только, ищущих идеи для практики

Обходы деревьев — знакомство с деревьями, бинарными деревьями и немного интересной теории
Что используется для написания многострочных комментариев в C ++?
Anonymous Quiz
89%
/*........*/
8%
//
1%
/$--------$/
2%
Ничего из вышеперечисленного
🧠Чему вы бы хотели научиться?

Расскажите нам о ваших пожеланиях: какие навыки вы хотели бы прокачать в ближайшее время или какую профессию хотели бы приобрести?

За прохождение опроса вы получите промокод на скидку 15% на все наши курсы до конца 2024 года.

👉Опрос по ссылке👈
Variadic templates

Variadic templates — это механизм, позволяющий определять шаблоны функций и классов, принимающие переменное количество аргументов. Он позволяет писать более гибкий и универсальный код, способный работать с разным числом параметров.

С помощью вариативных шаблонов вы можете определить функции или классы, принимающие любое количество аргументов определенных типов. Это особенно полезно, например, при написании функций форматирования строк, обобщенных контейнеров и других ситуаций, когда количество аргументов может варьироваться.
Перед вами два примера кода для печати вектора. Есть ли преимущества использования одного или другого?

Пример 1:
c++
vector vec;
/* ... .. ... */
for (auto itr = vec.begin(); itr != vec.end(); itr++) {
itr->print();
}


Пример 2:
c++
vector vec;
/* ... .. ... */
for (auto itr = vec.begin(); itr != vec.end(); ++itr) {
itr->print();
}


Хотя оба кода будут генерировать одинаковые выходные данные, пример 2 является более производительным вариантом. Это связано с тем, что оператор после инкремента itr++ обходится дороже, чем оператор перед инкрементом ++itr.

Оператор пост-инкремента генерирует копию элемента, прежде чем приступить к увеличению элемента и возврату копии. Более того, большинство компиляторов автоматически оптимизируют пример 1, неявно преобразуя его в пример 2.
Семантика перемещения

Семантика перемещения позволяет эффективно перемещать ресурсы между объектами без копирования данных. Это понятие стало особенно актуальным в свете улучшений, внесенных в язык C++11 и последующих стандартах.

Семантика перемещения решает проблемы, связанные с копированием больших данных или ресурсов, что может быть очень затратным по времени и памяти. Вместо копирования данные «перемещаются» из одного объекта в другой, при этом исходный объект теряет право владения этими данными. Это осуществляется с использованием специальных методов и операторов, таких как конструктор перемещения (move constructor) и оператор перемещения (move assignment operator).
🤔 Очередной #дайджест по С++

🔘 Простая реализация arena-friendly hash map — демонстрация техники создания кастомных хэш-мапов в сочетании с arena allocation

🔘 Понимание пользовательских пространств имен Linux — использование оболочки для создания кастомных пространств имен и экспериментов с ними

🔘 Книга C++ System Programming Cookbook — книга послужит справочником для разработчиков, которые хотят иметь готовые к использованию решения для основных аспектов системного программирования

🔘 Pure Virtual Cast — переговоры и торг за зарплату

🔘 Магия swizzle из шейдеров в C++ — почему swizzle удобно юзать для различных операций с малоразмерными векторами и игровыми сущностями в виде позиций, размера или цветов.
🌎 ТОП-10: рейтинг лучших зарубежных работодателей в IT

При составлении рейтинга учитывали различные факторы из открытых данных портала Glassdoor, включая отзывы сотрудников, уровень лояльности действующих и бывших сотрудников, зарплата, льготы, бонусы и прочие бенефиты.

1️⃣ Red Hat
2️⃣ Gainsight
3️⃣ Box
4️⃣ MathWorks
5️⃣ ServiceNow
6️⃣ Marvell Technology
7️⃣ CrowdStrike
8️⃣ Fortinet
9️⃣ NetApp
🔟 Genentech

👉 Читать статью
🎉🥳🍾 Кстати, нас уже больше 20 000! Спасибо за интерес к «Библиотека C/C++ разработчика».
Константные методы

В C++, ключевое слово const имеет различное значение в зависимости от контекста. Оно может быть применено к методам классов для указания, что метод не будет изменять состояние объекта, на котором он вызывается. Такие методы называются «константными методами».

Когда вы вызываете константный метод для объекта класса, компилятор гарантирует, что внутри этого метода вы не будете изменять члены данных объекта, кроме членов, объявленных как mutable (они могут изменяться внутри константных методов).