Библиотека C/C++ разработчика
7.32K subscribers
707 photos
757 videos
8 files
1.02K links
Полезные материалы по всему, что может быть полезно плюсовику/сишнику. По всем вопросам @evgenycarter
Download Telegram
Media is too big
VIEW IN TELEGRAM
Контракты для С++
Тимур Думлер

Контрактное программирование — эффективный подход к написанию более безопасных и корректных программ. Он был успешно реализован в таких языках программирования, как Eiffel и Ada. В стандарте С++ контрактное программирование имеет долгую и сложную историю.

С тех пор как попытка добавить контракты в стандарт C++20 потерпела неудачу, SG21 — рабочая группа для стандартизации контрактов в комитете C++ — активно разрабатывает новую версию этой фичи. Сегодня эта версия контрактов уже практически полнофункциональна и с большой вероятностью будет включена в следующий стандарт C++26.

В этом докладе мы рассмотрели текущий дизайн контрактов для C++26. Обсудили разновидности контрактов (preconditions, postconditions, assertions), возможные режимы проверки, обработку нарушений и многое другое. Рассмотрели, чем текущий дизайн превосходит существующие реализации на макросах и как помогает повысить безопасность и корректность кодовой базы.

источник

Мы в MAX

#cpp #programming

👉 @cpp_lib
1👍84
Media is too big
VIEW IN TELEGRAM
Сборка C++ проектов. CMAKE. Game Engine серии

0:00:00 - Введение
0:01:32 - Пишем мини игру. FightClub
0:17:03 - MSBUILD
0:19:20 - Собственный build скрипт
0:26:52 - Build системы. Теория
0:34:17 - CMAKE
1:28:00 - Автоматизация CMAKE команд

источник

Мы в MAX

#cpp #programming

👉 @cpp_lib
👍112
Media is too big
VIEW IN TELEGRAM
В докладе «Delivering safe C++» Страуструп затронул проблемы имиджа и распространения C++

источник

Мы в MAX

#cpp #programming

👉 @cpp_lib
👍3
Media is too big
VIEW IN TELEGRAM
Создание игры Крестики-нолики на языке C++

Мы в MAX

#cpp #programming

👉 @cpp_lib
👍31❤‍🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
🐦 Flappy Bird на Си: Вес APK < 100 Килобайт! 🚀

В сентябре 2024 года, увидев Flappy Bird на C# в дискорд-канале Raylib, я решил попробовать реализовать эту игру на Си для Android с весом APK менее 100 КБ. 🚀

Идея казалась безумной, но спортивный интерес взял верх. 💪

https://github.com/VadimBoev/FlappyBird

Мы в MAX

#cpp #programming

👉 @cpp_lib
👍53
Media is too big
VIEW IN TELEGRAM
Практика применения C++ в играх и игровых движках

Пожалуй, игры известны тем, что они всегда на переднем краю как современного железа, так и программных возможностей. Как же обстоят дела с C++ в этой области?

На примере трех сравнительно легких для восприятия сюжетов посмотрим, как так складывается, что стиль имеет тенденцию к C99 с классами. Сюжеты: взаимодействие с другими языками (interop w/scripts), многоплатформенность (compiler zoo, determinism, float) и многопоточность (pthread into OOP vs DOD, ECS, etc.)

источник

Мы в MAX

#cpp #programming

👉 @cpp_lib
👍5❤‍🔥2
Ненавижу, _____, C++ массивы

Или почему мне кажется, что про них нужно знать, но не нужно использовать.

Друзья, вы помните момент, когда впервые сунули указатель на первый элемент массива в оператор sizeof, и ваш код перестал работать так, как вы задумывали? Это, конечно, и близко не сравнится с эмоциями от засовывания пальцев в розетку, но...

https://habr.com/ru/companies/pvs-studio/articles/822911/

Мы в MAX

#cpp #programming

👉 @cpp_lib
❤‍🔥6👍3🤡1
InputParser — это библиотека на C++ для парсинга командной строки, разработанная Джан Луисом Боливаром Дианой. Она позволяет легко добавлять и обрабатывать опции командной строки в приложениях на C++. Для использования необходимо создать объект Parser, добавить необходимые опции с помощью метода addOption, а затем вызвать метод parse для обработки аргументов. Библиотека требует компилятора с поддержкой стандарта C++23 и распространяется по лицензии MIT.

https://github.com/gianluisdiana/InputParser

Мы в MAX

#cpp #programming

👉 @cpp_lib
4
Лекции С++ продвинутый поток ФПМИ 2023-24

Лекция 1. Введение в язык C++. Основные типы и операции над ними
Лекция 2. Основные команды в терминале. Компиляция программ
Лекция 3. Объявления и определения, области видимости, пространства имен
Лекция 4. Выражения и операторы. Управляющие конструкции
Лекция 5. Compile-time errors, runtime errors, undefined behavior
Лекция 6. Указатели
Лекция 7. Стековая, статическая и динамическая память
Лекция 8. Массивы, функции и указатели на функции

источник

Мы в MAX

#cpp #programming

👉 @cpp_lib
4👍3