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
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
👍11❤2
Media is too big
VIEW IN TELEGRAM
В докладе «Delivering safe C++» Страуструп затронул проблемы имиджа и распространения C++
источник
Мы в MAX
#cpp #programming
👉 @cpp_lib
источник
Мы в MAX
#cpp #programming
👉 @cpp_lib
👍3
Media is too big
VIEW IN TELEGRAM
👍3❤1❤🔥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
В сентябре 2024 года, увидев Flappy Bird на C# в дискорд-канале Raylib, я решил попробовать реализовать эту игру на Си для Android с весом APK менее 100 КБ. 🚀
Идея казалась безумной, но спортивный интерес взял верх. 💪
https://github.com/VadimBoev/FlappyBird
Мы в MAX
#cpp #programming
👉 @cpp_lib
👍5❤4🔥1
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
Пожалуй, игры известны тем, что они всегда на переднем краю как современного железа, так и программных возможностей. Как же обстоят дела с C++ в этой области?
На примере трех сравнительно легких для восприятия сюжетов посмотрим, как так складывается, что стиль имеет тенденцию к C99 с классами. Сюжеты: взаимодействие с другими языками (interop w/scripts), многоплатформенность (compiler zoo, determinism, float) и многопоточность (pthread into OOP vs DOD, ECS, etc.)
источник
Мы в MAX
#cpp #programming
👉 @cpp_lib
👍6❤🔥2
Ненавижу, _____, C++ массивы
Или почему мне кажется, что про них нужно знать, но не нужно использовать.
Друзья, вы помните момент, когда впервые сунули указатель на первый элемент массива в оператор sizeof, и ваш код перестал работать так, как вы задумывали? Это, конечно, и близко не сравнится с эмоциями от засовывания пальцев в розетку, но...
https://habr.com/ru/companies/pvs-studio/articles/822911/
Мы в MAX
#cpp #programming
👉 @cpp_lib
Или почему мне кажется, что про них нужно знать, но не нужно использовать.
Друзья, вы помните момент, когда впервые сунули указатель на первый элемент массива в оператор sizeof, и ваш код перестал работать так, как вы задумывали? Это, конечно, и близко не сравнится с эмоциями от засовывания пальцев в розетку, но...
https://habr.com/ru/companies/pvs-studio/articles/822911/
Мы в MAX
#cpp #programming
👉 @cpp_lib
❤🔥6👍3🤡1
InputParser — это библиотека на C++ для парсинга командной строки, разработанная Джан Луисом Боливаром Дианой. Она позволяет легко добавлять и обрабатывать опции командной строки в приложениях на C++. Для использования необходимо создать объект
https://github.com/gianluisdiana/InputParser
Мы в MAX
#cpp #programming
👉 @cpp_lib
Parser, добавить необходимые опции с помощью метода addOption, а затем вызвать метод parse для обработки аргументов. Библиотека требует компилятора с поддержкой стандарта C++23 и распространяется по лицензии MIT. https://github.com/gianluisdiana/InputParser
Мы в MAX
#cpp #programming
👉 @cpp_lib
❤4👍1
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Dangerous Dave
Серия видеороликов, показывающих начинающим программистам, как воссоздать Dangerous Dave с помощью C и SDL (2 часа)
источник
Мы в MAX
#cpp #programming
👉 @cpp_lib
Серия видеороликов, показывающих начинающим программистам, как воссоздать Dangerous Dave с помощью C и SDL (2 часа)
источник
Мы в MAX
#cpp #programming
👉 @cpp_lib
👍4❤1
Лекции С++ продвинутый поток ФПМИ 2023-24
Лекция 1. Введение в язык C++. Основные типы и операции над ними
Лекция 2. Основные команды в терминале. Компиляция программ
Лекция 3. Объявления и определения, области видимости, пространства имен
Лекция 4. Выражения и операторы. Управляющие конструкции
Лекция 5. Compile-time errors, runtime errors, undefined behavior
Лекция 6. Указатели
Лекция 7. Стековая, статическая и динамическая память
Лекция 8. Массивы, функции и указатели на функции
источник
Мы в MAX
#cpp #programming
👉 @cpp_lib
Лекция 1. Введение в язык C++. Основные типы и операции над ними
Лекция 2. Основные команды в терминале. Компиляция программ
Лекция 3. Объявления и определения, области видимости, пространства имен
Лекция 4. Выражения и операторы. Управляющие конструкции
Лекция 5. Compile-time errors, runtime errors, undefined behavior
Лекция 6. Указатели
Лекция 7. Стековая, статическая и динамическая память
Лекция 8. Массивы, функции и указатели на функции
источник
Мы в MAX
#cpp #programming
👉 @cpp_lib
❤5👍5
Простое руководство по атомарности в C++
Часто возникает путаница с тем, что же понимается в компьютерных науках под «атомарностью». Как правило, атомарность – это свойство процесса, означающее, что он совершается за один шаг или операцию. Но в языке C++ атомарность определяется гораздо более специфичным образом. На самом деле, при использовании std::atomic с классами и типами еще не гарантируется, что весь код будет подлинно атомарным. Хотя, атомарные типы и входят в состав языка C++, сами атомарные операции должны поддерживаться на уровне того аппаратного обеспечения, на котором работает программа. Эта статья – простое руководство, помогающее понять, что же представляет собой атомарность в C++.
https://blog.devgenius.io/a-simple-guide-to-atomics-in-c-670fc4842c8b
Мы в MAX
#cpp #programming
👉 @cpp_lib
Часто возникает путаница с тем, что же понимается в компьютерных науках под «атомарностью». Как правило, атомарность – это свойство процесса, означающее, что он совершается за один шаг или операцию. Но в языке C++ атомарность определяется гораздо более специфичным образом. На самом деле, при использовании std::atomic с классами и типами еще не гарантируется, что весь код будет подлинно атомарным. Хотя, атомарные типы и входят в состав языка C++, сами атомарные операции должны поддерживаться на уровне того аппаратного обеспечения, на котором работает программа. Эта статья – простое руководство, помогающее понять, что же представляет собой атомарность в C++.
https://blog.devgenius.io/a-simple-guide-to-atomics-in-c-670fc4842c8b
Мы в MAX
#cpp #programming
👉 @cpp_lib
❤3👍1
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Курс современного C++ | Боннский университет, Германия.
Course Introduction and Hello World
Variables, Basic Types, Control Structures
Compilation, Debugging, Functions, Header/Source, Libraries, CMake
Google Test, Namespaces, Classes
Move Semantics, Classes
Polymorphism, I/O, Stringstreams, CMake find
Static, Numbers, Arrays, Non-owning pointers, Classes
Pointers, const with pointers, Stack and Heap, Memory leaks
Smart/Unique/Shared ptrs, Associative con., Enumeration
Templates, Iterators, Exceptions, Program input parameters, OpenCV
источник
Мы в MAX
#cpp #programming
👉 @cpp_lib
Course Introduction and Hello World
Variables, Basic Types, Control Structures
Compilation, Debugging, Functions, Header/Source, Libraries, CMake
Google Test, Namespaces, Classes
Move Semantics, Classes
Polymorphism, I/O, Stringstreams, CMake find
Static, Numbers, Arrays, Non-owning pointers, Classes
Pointers, const with pointers, Stack and Heap, Memory leaks
Smart/Unique/Shared ptrs, Associative con., Enumeration
Templates, Iterators, Exceptions, Program input parameters, OpenCV
источник
Мы в MAX
#cpp #programming
👉 @cpp_lib
👍4
Быстрый двоичный поиск без ветвления
Мои читатели — занятые люди, поэтому сразу перейду к делу. Вот она, самая быстрая обобщённая (и простая) реализация двоичного поиска на C++
Rus https://habr.com/ru/companies/ruvds/articles/756422/
Eng https://mhdm.dev/posts/sb_lower_bound/
Мы в MAX
#cpp #programming
👉 @cpp_lib
Мои читатели — занятые люди, поэтому сразу перейду к делу. Вот она, самая быстрая обобщённая (и простая) реализация двоичного поиска на C++
Rus https://habr.com/ru/companies/ruvds/articles/756422/
Eng https://mhdm.dev/posts/sb_lower_bound/
Мы в MAX
#cpp #programming
👉 @cpp_lib
❤5
Ода хейта C++
Язык С++ по-настоящему стар. Казалось бы это должно идти ему на пользу, как хорошему вину. Но этому мешает обратная совместимость. Хорошая идея, если бы она работала...
Давайте просто честно признаемся: ни один из стандартов не был обратно совместим. ВСЕГДА реальные проекты требовали миграции и адаптации не то что под новую версию стандарта, но даже под новую версию компилятора. Чем больше проект, тем больше усилий, и порой фатальных. Уверен, среди читающих найдется человек, у которого на работе все еще 98й стандарт С++.
В целом, идея не ломать старое - хорошая. Лучше уж поломать совсем немного, чем вообще все. Не спорю, здесь С++ держится хорошо, местами даже слишком. Но из-за боязни сломать старое в языке засели старые и просто неправильные решения.
Язык настолько сильно прошит старыми древними идеями, что порой удивляешься как это до сих пор существует в современном мире, где есть куча других более изящных решений в других языках. И ведь логично было бы поправить самые крупные косяки, но нет, все заплаточки аккуратно пришиваются сверху чтобы "не дай боже старая всем нужная библиотека не сломалась". Ну раз она старая и всем нужная, разве никто не проапгрейдит ее?
Все же хотелось бы чтобы язык признавал свои ошибки и ломал даже самые старые концепции в угоду более лучшего будущего.
https://habr.com/ru/articles/811369/
Мы в MAX
#cpp #programming
👉 @cpp_lib
Язык С++ по-настоящему стар. Казалось бы это должно идти ему на пользу, как хорошему вину. Но этому мешает обратная совместимость. Хорошая идея, если бы она работала...
Давайте просто честно признаемся: ни один из стандартов не был обратно совместим. ВСЕГДА реальные проекты требовали миграции и адаптации не то что под новую версию стандарта, но даже под новую версию компилятора. Чем больше проект, тем больше усилий, и порой фатальных. Уверен, среди читающих найдется человек, у которого на работе все еще 98й стандарт С++.
В целом, идея не ломать старое - хорошая. Лучше уж поломать совсем немного, чем вообще все. Не спорю, здесь С++ держится хорошо, местами даже слишком. Но из-за боязни сломать старое в языке засели старые и просто неправильные решения.
Язык настолько сильно прошит старыми древними идеями, что порой удивляешься как это до сих пор существует в современном мире, где есть куча других более изящных решений в других языках. И ведь логично было бы поправить самые крупные косяки, но нет, все заплаточки аккуратно пришиваются сверху чтобы "не дай боже старая всем нужная библиотека не сломалась". Ну раз она старая и всем нужная, разве никто не проапгрейдит ее?
Все же хотелось бы чтобы язык признавал свои ошибки и ломал даже самые старые концепции в угоду более лучшего будущего.
https://habr.com/ru/articles/811369/
Мы в MAX
#cpp #programming
👉 @cpp_lib
🤡8👍4❤3🌚1