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

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

الذهاب إلى القناة على Telegram

Полезные материалы по всему, что может быть полезно плюсовику/сишнику. По всем вопросам @evgenycarter

إظهار المزيد
7 323
المشتركون
+224 ساعات
+87 أيام
+1430 أيام
أرشيف المشاركات
Опечатки, нулевые указатели и коварный таб: 33 фрагмента в библиотеке GTK GTK – популярный фреймворк с открытым исходным кодо
Опечатки, нулевые указатели и коварный таб: 33 фрагмента в библиотеке GTK GTK – популярный фреймворк с открытым исходным кодом для создания графических интерфейсов, который интересно проверять с помощью анализатора PVS-Studio. Тем более, что предыдущую проверку мы делали около 3 лет назад, а значит, наверняка найдём в нём новые ошибки. Очень не хотелось частично повторять введение из прошлой статьи "Выявляем опечатки в проекте GTK 4 с помощью PVS-Studio", но подозреваю, что далеко не все читатели знакомы с GTK. Поэтому вкратце: библиотека позволяет кроссплатформенно реализовывать графический пользовательский интерфейс. Полностью бесплатна и имеет открытый исходный код, лицензированный под GNU GPL, что позволяет использовать её в любых проектах (даже коммерческих). https://habr.com/ru/companies/pvs-studio/articles/770050/ #cpp #programming 👉 @cpp_lib

💡 QT и ОС Аврора: надежная основа для разработки востребованного ПО! ❗️ Вкладывай в перспективу - вкладывай в себя! Пройди т
💡 QT и ОС Аврора: надежная основа для разработки востребованного ПО! ❗️ Вкладывай в перспективу - вкладывай в себя! Пройди тест из 20 вопросов и проверь, насколько хорошо nы знаешь язык C++ и готов освоить QT и ОС Аврора . Сможешь сдать — пройдёшь на продвинутый онлайн-курс "Разработка прикладного ПО на Qt и ОС Аврора" от OTUS. 👉 ПРОЙТИ ТЕСТ: https://vk.cc/csvYiL Курс доступен в рассрочку. 🎁 Черная пятница в OTUS! Успей применить промокод BLACK23 и получить скидку 15% на курс! Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

Решаем задачу асинхронного ввода-вывода с библиотекой Asio Меня зовут Илья Казаков, я C++ разработчик в команде систем хранен
Решаем задачу асинхронного ввода-вывода с библиотекой Asio Меня зовут Илья Казаков, я C++ разработчик в команде систем хранения данных компании YADRO, одна из моих задач — реализация эффективных IO-bound программ под Linux. На одном из проектов мы с командой использовали Asio — библиотеку C++ для сетевого и низкоуровневого программирования ввода-вывода. Она предлагает свою асинхронную модель. Технология отлично справилась с нашей задачей, и я хочу поделиться с вами опытом ее использования. Под катом расскажу, какие решения я рассматривал для асинхронного ввода-вывода и почему остановился на Asio. https://habr.com/ru/companies/yadro/articles/774130/ #cpp #programming 👉 @cpp_lib

Beautiful C++: 30 Core Guidelines for Writing Clean, Safe, and Fast Code J. Davidson, Kate Gregory (2022) Написание качественного кода на C++ не должно быть трудной задачей. Если разработчик будет следовать рекомендациям, приведенным в C++ Core Guidelines, то он будет писать исключительно надежные, эффективные и прекрасно работающие программы на C++. Но руководство настолько переполнено советами, что порой трудно понять, с чего начать. Начните с «Красивого C++»! Опытные программисты Гай Дэвидсон и Кейт Грегори выбрали 30 основных рекомендаций, которые посчитали особенно ценными, и дают подробные практические советы, которые помогут улучшить ваш стиль разработки на C++. Для удобства книга структурирована в точном соответствии с официальным веб-сайтом C++ Core Guidelines. 👉 @cpp_knigi

🎮 Завершите создание своего первого шутера и добавьте его в портфолио 👉 На бесплатном открытом уроке «Создаём простейший шу
🎮 Завершите создание своего первого шутера и добавьте его в портфолио 👉 На бесплатном открытом уроке «Создаём простейший шутер от третьего лица на Unreal Engine 5. Часть 2» от OTUS. На втором эфире мы: - реализуем механику стрельбы и урона, свяжем их с созданным UI; - создадим бота-противника и разработаем для него простейший AI, который будет искать нас и нападать при обнаружении; - разработаем систему подбираемых предметов (патроны, оружие). ⏰ Занятие пройдёт 22 ноября в 20:00 мск и будет приурочено к старту курса «Unreal Engine Game Developer. Basic». После урока вы сможете продолжить обучение на специальных условиях и получить видеокурс по программированию на С++ в подарок. 👉 Для бесплатного участия и получения записи обоих уроков регистрируйтесь прямо сейчас: https://vk.cc/csrxDL Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru

Перегрузка операторов в C++. Основы
#include <iostream> class Counter { public: Counter(int val) { value =val; } void print() { std::cout << "Value: " << value << std::endl; } Counter operator + (const Counter& counter) const { return Counter{value + counter.value}; } private: int value; }; int main() { Counter c1{20}; Counter c2{10}; Counter c3 = c1 + c2; c3.print(); // Value: 30 }
https://metanit.com/cpp/tutorial/5.14.php #cpp #programming 👉 @cpp_lib

🌎Программист, мир огромен и разнообразен! 👉Узнайте больше о возможностях С на бесплатном вебинаре онлайн-курса «Программист
🌎Программист, мир огромен и разнообразен! 👉Узнайте больше о возможностях С на бесплатном вебинаре онлайн-курса «Программист С» — «Unicode в С»: регистрация На вебинаре мы: — подробнее познакомимся с интернациональным стандартом символов Unicode и низкоуровневым устройством его кодировок — развеем несколько популярных мифов в области кодировок и посмотрим на инструменты языка C для работы с юникодом. ✅Занятие будет полезно всем программистам, практикующим написание кода на C и C++. 👉После вебинара вы сможете продолжить обучение на курсе по спеццене, в том числе, в рассрочку Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963. erid: LjN8Jtijr

Как рисуется карта в Фараоне В свободное время я восстанавливаю старенькую, но довольно известную игру Pharaoh. Это ситибилде
Как рисуется карта в Фараоне В свободное время я восстанавливаю старенькую, но довольно известную игру Pharaoh. Это ситибилдер, выпущенный в прошлом веке и разработанный Impressions Games. Технология рендеринга в этой игре была значительным достижением для своего времени и способствовала созданию впечатляющей атмосферы Древнего Египта, которая погружает игрока в проработанное окружение, удивляет вниманием к мелким деталям и передает богатство и разнообразие древнеегипетских пейзажей. В этой статье я опишу алгоритм отрисовки города, зданий, объектов, анимации и формат карты оригинальной игры. https://habr.com/ru/articles/767892/ #cpp #programming 👉 @cpp_lib

Fiber в C++: Понимание основ Fiber, менее известная концепция по сравнению с coroutine, является довольно мощным дополнением
Fiber в C++: Понимание основ Fiber, менее известная концепция по сравнению с coroutine, является довольно мощным дополнением к кооперативной многозадачности. Как графический программист, работающий в игровой индустрии, я очень ценю гибкость, которую дает fiber. На самом деле, мне кажется, что эта технология немного недооценена из-за отсутствия достаточного количества публичных материалов, рассказывающих о волокнах. В этой статье я расскажу о том, что я узнал об основах Fiber. Все, о чем пойдет речь в этой статье, будет относиться именно к языку C++, хотя подобная концепция существует и в других языках. Читатели, не имеющие представления о fibers, узнают, что это такое и как мы можем использовать его преимущества при рендеринге графики. https://agraphicsguynotes.com/posts/fiber_in_cpp_understanding_the_basics/ #cpp #programming 👉 @cpp_lib

🔥 Qt и ОС Аврора: надежная основа для разработки востребованного ПО ➖ Освой кроссплатформенную разработку Пройди тест и пров
🔥 Qt и ОС Аврора: надежная основа для разработки востребованного ПО Освой кроссплатформенную разработку Пройди тест и проверь свои знания. Ответишь — пройдешь на продвинутый курс "Разработка прикладного ПО на Qt и ОС Аврора" от OTUS по специальной цене! . 👉 ПРОЙТИ ТЕСТ: https://vk.cc/csl5rH Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

Моя борьба против знакового/беззнакового сравнения: самые распространенные нарушения Как мы уже говорили на прошлой неделе, сравнение чисел с разными знаками может быть опасным в языке C++. Если попытаться сравнить знаковое и беззнаковое целое число, то можно получить результат, который не имеет смысла, если подходить к вопросу с математической точки зрения. По крайней мере, при правильных настройках компилятора вы получите предупреждение. Мы также увидели, что C++20 предлагает простой и безопасный способ сравнения чисел в любое время, и он всегда вернет вам ожидаемый результат. https://www.sandordargo.com/blog/2023/10/18/signed-unsigned-comparison-the-most-usual-violations #cpp #programming 👉 @cpp_lib

🔥 Топ-5 способов создания ассоциативного массива 1. Односвязный список 2. Отсортированный массив 3. Двоичное дерево поиска 4
🔥 Топ-5 способов создания ассоциативного массива 1. Односвязный список 2. Отсортированный массив 3. Двоичное дерево поиска 4. Хэш-таблица 5. Префиксное дерево 💪 Разберём каждый из них подробно на бесплатном открытом уроке «Создание ассоциативного массива различными способами» от OTUS. На эфире мы: ✔️ реализуем структуру данных «ассоциативный массив» для хранения пар (ключ, значение) ✔️ рассмотрим несколько алгоритмов для решения этой задачи ✔️ сравним их эффективность 📢📢 Занятие состоится 15 ноября в 20:00 мск и будет приурочено к старту курса «Алгоритмы и структуры данных» в Otus. 🎫 После вебинара можно приобрести курс в рассрочку. ➡️ Регистрация на вебинар: https://vk.cc/csgdm1 Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru

Введение в компиляцию C++ в командной строке Возможно, наступит день, когда технологии продвинутся настолько, что нам не нужн
Введение в компиляцию C++ в командной строке Возможно, наступит день, когда технологии продвинутся настолько, что нам не нужно будет беспокоиться о том, какие флаги установлены при компиляции, какие файлы включены. Но это не сегодняшний день. При использовании Unreal Engine 4 или другого высокоуровневого фреймворка компиляция кода на языке C++ в значительной степени скрыта от глаз. Это очень удобно, когда все работает, но становится препятствием, когда нужно что-то изменить. Единственный способ не стать рабом своих творений - понять, как они работают. https://unrealistic.dev/posts/introduction-to-c-compilation-on-the-command-line #cpp #programming 👉 @cpp_lib

💪🔥 Переходите на новый уровень в C++ и разнообразьте свою работу! Пройди тест по C++ и проверь как хорошо ты знаешь язык. О
💪🔥  Переходите на новый уровень в C++ и разнообразьте свою работу! Пройди тест по C++ и проверь как хорошо ты знаешь язык. Ответишь — пройдешь на продвинутый курс «C++ Developer. Professional» от OTUS по специальной цене + получишь масстер-класс от преподавателя ❗️ ПРОЙТИ ТЕСТИРОВАНИЕ  https://otus.pw/HG6p/ Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963. erid: LjN8JxJeM

C++23: четыре новых ассоциативных контейнера В C++23 появились четыре новых ассоциативных контейнера: std::flat_map, std::fla
C++23: четыре новых ассоциативных контейнера В C++23 появились четыре новых ассоциативных контейнера: std::flat_map, std::flat_multimap, std::flat_set и std::flat_multiset, которые являются полноценной заменой упорядоченных ассоциативных контейнеров std::map, std::multimap, std::set и std::multiset. Они были добавлены в C++23 по двум причинам: расход памяти и производительность. https://www.modernescpp.com/index.php/c23-four-new-associative-containers/ #cpp #programming 👉 @cpp_lib

Оптимизация с помощью аллокаторов в C++17 Благодаря полиморфным аллокаторам в C++17 можно оптимизировать распределение памяти
Оптимизация с помощью аллокаторов в C++17 Благодаря полиморфным аллокаторам в C++17 можно оптимизировать распределение памяти. Эта оптимизация включает в себя производительность и повторное использование памяти. https://www.modernescpp.com/index.php/optimization-with-allocators-in-c17/ #cpp #programming 👉 @cpp_lib

Ускорение работы за счет дублирования кода https://voidstar.tech/code_duplication/ #cpp #programming 👉 @cpp_lib
Ускорение работы за счет дублирования кода https://voidstar.tech/code_duplication/ #cpp #programming 👉 @cpp_lib

💡 Как попасть в команду разработки госпроектов? Изучить российскую ОС на бесплатном открытом уроке «Знакомство с ОС Аврора и
💡 Как попасть в команду разработки госпроектов? Изучить российскую ОС на бесплатном открытом уроке «Знакомство с ОС Аврора и возможностями разработки под неё» от OTUS. На эфире: ✔️ познакомимся с российской мобильной операционной системой Аврора и её основными особенностями; ✔️ посмотрим на среду разработки приложений Аврора IDE, на структуру и конфигурацию приложения; ✔️ рассмотрим приложение, отправляющее уведомление в графическую подсистему Lipstick. 📢📢 Занятие пройдёт 13 ноября в 20:00 мск и будет приурочено к старту курса «Разработка прикладного ПО на Qt и ОС Аврора». 🎫 После урока вы сможете продолжить обучение в рассрочку. ➡️ Регистрируйтесь на мероприятие прямо сейчас: https://vk.cc/csaFIB Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru