👨💻 Учебный репозиторий по указателям в C:
Минималистичный и очень понятный туториал, охватывающий ключевые аспекты работы с указателями:
- базовая работа с указателями
- арифметика указателей
- работа с массивами через указатели
- передача аргументов по ссылке
- указатели на функции
- двойные указатели
Каждый пример — это отдельный
Отличный ресурс как для начинающих, так и для практикующих C-программистов.
https://github.com/jflaherty/ptrtut13/tree/master
#cpp #programming
👉 @cpp_lib
Минималистичный и очень понятный туториал, охватывающий ключевые аспекты работы с указателями:
- базовая работа с указателями
- арифметика указателей
- работа с массивами через указатели
- передача аргументов по ссылке
- указатели на функции
- двойные указатели
Каждый пример — это отдельный
.c
-файл с подробными комментариями. Можно компилировать и запускать по порядку, чтобы получить последовательное понимание темы.Отличный ресурс как для начинающих, так и для практикующих C-программистов.
https://github.com/jflaherty/ptrtut13/tree/master
#cpp #programming
👉 @cpp_lib
📈Плоские контейнеры и C++: как оптимизировать производительность и память
Пытаетесь сделать код быстрее и экономичнее? Время научиться использовать плоские контейнеры в C++! На открытом уроке 15 апреля в 20:00 мск мы разберемся, что такое плоские контейнеры!
Что вас ждет:
- Описание плоских контейнеров в C++: какие они бывают и чем отличаются от стандартных.
- Реальные примеры, когда и почему плоские контейнеры — это ваша идеальная пара для эффективной работы с данными.
- Практическая часть: сравнение с традиционными контейнерами и примеры применения на реальных задачах.
Кому будет полезно:
• Программистам C++, работающим с большими объемами данных.
• Разработчикам высокопроизводительных приложений и игр.
• Инженерам, которым нужно минимизировать использование памяти и повысить эффективность.
👉Регистрируйтесь прямо сейчас и получите скидку на большое обучение «C++ Developer. Professional»: https://vk.cc/cKG7if
Пытаетесь сделать код быстрее и экономичнее? Время научиться использовать плоские контейнеры в C++! На открытом уроке 15 апреля в 20:00 мск мы разберемся, что такое плоские контейнеры!
- Описание плоских контейнеров в C++: какие они бывают и чем отличаются от стандартных.
- Реальные примеры, когда и почему плоские контейнеры — это ваша идеальная пара для эффективной работы с данными.
- Практическая часть: сравнение с традиционными контейнерами и примеры применения на реальных задачах.
Кому будет полезно:
• Программистам C++, работающим с большими объемами данных.
• Разработчикам высокопроизводительных приложений и игр.
• Инженерам, которым нужно минимизировать использование памяти и повысить эффективность.
👉Регистрируйтесь прямо сейчас и получите скидку на большое обучение «C++ Developer. Professional»: https://vk.cc/cKG7if
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
🔹 C++26: ошибочное поведение (Erroneous Behaviour)
В C++ мы обычно говорим о двух категориях поведения:
– определённое поведение (well-defined)
– неопределённое поведение (undefined behaviour, UB)
Второе — одно из самых пугающих понятий в языке. Это когда программа делает что угодно, и компилятор не обязан предупреждать о проблеме. Примеры UB: выход за границы массива, разыменование нулевого указателя и т.д.
Однако в будущем стандарте C++26 вводится новая категория: ошибочное поведение (erroneous behaviour).
❓ Что такое erroneous behaviour?
Это ситуация, когда программа ведёт себя неправильно, но компилятор обязан выдать ошибку или хотя бы предупреждение. Это промежуточный уровень между "всё хорошо" и "всё ужасно и не предсказуемо".
Erroneous behaviour позволяет:
- Сохранить производительность (в отличие от полного исключения или runtime-проверок)
- Сделать поведение программы более предсказуемым
- Упростить диагностику проблем
📌 Пример
Допустим, в constexpr-функции вызывается функция, не являющаяся
Такой код сейчас может пройти компиляцию при определённых условиях, но в будущем — нет.
🧩 Отличие от UB и других видов поведения
- UB — компилятор может делать что угодно (не выдавать ошибку, не предупреждать, и т.д.)
- Implementation-defined — конкретная реализация (компилятор) должна задокументировать поведение
- Erroneous behaviour — компилятор обязан ругаться
🤔 Почему это важно?
Эта категория позволяет более чётко определять границы корректного кода и помогает разработчикам избегать трудноуловимых багов. Это шаг к более строгой и безопасной разработке на C++ без жёстких ограничений на производительность.
https://www.sandordargo.com/blog/2025/02/05/cpp26-erroneous-behaviour
#cpp #programming
👉 @cpp_lib
В C++ мы обычно говорим о двух категориях поведения:
– определённое поведение (well-defined)
– неопределённое поведение (undefined behaviour, UB)
Второе — одно из самых пугающих понятий в языке. Это когда программа делает что угодно, и компилятор не обязан предупреждать о проблеме. Примеры UB: выход за границы массива, разыменование нулевого указателя и т.д.
Однако в будущем стандарте C++26 вводится новая категория: ошибочное поведение (erroneous behaviour).
❓ Что такое erroneous behaviour?
Это ситуация, когда программа ведёт себя неправильно, но компилятор обязан выдать ошибку или хотя бы предупреждение. Это промежуточный уровень между "всё хорошо" и "всё ужасно и не предсказуемо".
Erroneous behaviour позволяет:
- Сохранить производительность (в отличие от полного исключения или runtime-проверок)
- Сделать поведение программы более предсказуемым
- Упростить диагностику проблем
📌 Пример
Допустим, в constexpr-функции вызывается функция, не являющаяся
constexpr
. Сейчас это UB, но в C++26 это будет квалифицироваться как erroneous behaviour, и компилятор обязан будет выдать ошибку на этапе компиляции.
constexpr int foo() {
return std::time(nullptr); // std::time не является constexpr
}
Такой код сейчас может пройти компиляцию при определённых условиях, но в будущем — нет.
🧩 Отличие от UB и других видов поведения
- UB — компилятор может делать что угодно (не выдавать ошибку, не предупреждать, и т.д.)
- Implementation-defined — конкретная реализация (компилятор) должна задокументировать поведение
- Erroneous behaviour — компилятор обязан ругаться
🤔 Почему это важно?
Эта категория позволяет более чётко определять границы корректного кода и помогает разработчикам избегать трудноуловимых багов. Это шаг к более строгой и безопасной разработке на C++ без жёстких ограничений на производительность.
https://www.sandordargo.com/blog/2025/02/05/cpp26-erroneous-behaviour
#cpp #programming
👉 @cpp_lib
🚀 Подпишись и прокачай свои скилы: лучшие каналы для IT-специалистов 👨💻📲
Папка с каналами для DevOps, Linux - Windows СисАдминов👍
Папка с каналами для 1С программистов🧑💻
Папка с каналами для C++ программистов👩💻
Папка с каналами для Python программистов👩💻
Папка с каналами для Java программистов🖥
Папка с книгами для программистов 📚
Папка для программистов (frontend, backend, iOS, Android)💻
GitHub Сообщество🧑💻
https://www.tg-me.com/Githublib Интересное из GitHub
Базы данных (Data Base)🖥
https://www.tg-me.com/database_info Все про базы данных
Разработка игр📱
https://www.tg-me.com/game_devv Все о разработке игр
БигДата, машинное обучение🖥
https://www.tg-me.com/bigdata_1 Data Science, Big Data, Machine Learning, Deep Learning
QA, тестирование🖥
https://www.tg-me.com/testlab_qa Библиотека тестировщика
Шутки программистов 📌
https://www.tg-me.com/itumor Шутки программистов
Защита, взлом, безопасность💻
https://www.tg-me.com/thehaking Канал о кибербезопасности
https://www.tg-me.com/xakep_2 Хакер Free
Книги, статьи для дизайнеров🎨
https://www.tg-me.com/ux_web Статьи, книги для дизайнеров
Математика🧮
https://www.tg-me.com/Pomatematike Канал по математике
https://www.tg-me.com/phis_mat Обучающие видео, книги по Физике и Математике
Excel лайфхак🙃
https://www.tg-me.com/Excel_lifehack
Технологии🖥
https://www.tg-me.com/tikon_1 Новости высоких технологий, науки и техники💡
https://www.tg-me.com/mir_teh Мир технологий (Technology World)
Вакансии💰
https://www.tg-me.com/sysadmin_rabota Системный Администратор
https://www.tg-me.com/progjob Вакансии в IT
https://www.tg-me.com/rabota1C_rus Вакансии для программистов 1С
Папка с каналами для DevOps, Linux - Windows СисАдминов
Папка с каналами для 1С программистов
Папка с каналами для C++ программистов
Папка с каналами для Python программистов
Папка с каналами для Java программистов
Папка с книгами для программистов 📚
Папка для программистов (frontend, backend, iOS, Android)
GitHub Сообщество
https://www.tg-me.com/Githublib Интересное из GitHub
Базы данных (Data Base)
https://www.tg-me.com/database_info Все про базы данных
Разработка игр
https://www.tg-me.com/game_devv Все о разработке игр
БигДата, машинное обучение
https://www.tg-me.com/bigdata_1 Data Science, Big Data, Machine Learning, Deep Learning
QA, тестирование
https://www.tg-me.com/testlab_qa Библиотека тестировщика
Шутки программистов 📌
https://www.tg-me.com/itumor Шутки программистов
Защита, взлом, безопасность
https://www.tg-me.com/thehaking Канал о кибербезопасности
https://www.tg-me.com/xakep_2 Хакер Free
Книги, статьи для дизайнеров
https://www.tg-me.com/ux_web Статьи, книги для дизайнеров
Математика
https://www.tg-me.com/Pomatematike Канал по математике
https://www.tg-me.com/phis_mat Обучающие видео, книги по Физике и Математике
Excel лайфхак
https://www.tg-me.com/Excel_lifehack
Технологии
https://www.tg-me.com/tikon_1 Новости высоких технологий, науки и техники💡
https://www.tg-me.com/mir_teh Мир технологий (Technology World)
Вакансии
https://www.tg-me.com/sysadmin_rabota Системный Администратор
https://www.tg-me.com/progjob Вакансии в IT
https://www.tg-me.com/rabota1C_rus Вакансии для программистов 1С
Please open Telegram to view this post
VIEW IN TELEGRAM
Telegram
Админ Devops
You’ve been invited to add the folder “Админ Devops”, which includes 18 chats.
Пишем сканер штрихкодов на c++
Штрихкод и с чем его едят на плюсах. Сегодня я покажу вам как я писал простейший сканер штрихкодов EAN-8 и EAN-13. Конечно, я мог бы взять готовые и более функциональные сканеры из интернета, НО зачем? Зачем, если можно сделать самому, если можно развить свои навыки и расширить портфолио? Вот и я так подумал...
Если вы заинтересовались - я сейчас вам раскачаю про код...
https://habr.com/ru/articles/891238/
#cpp #programming
👉 @cpp_lib
Штрихкод и с чем его едят на плюсах. Сегодня я покажу вам как я писал простейший сканер штрихкодов EAN-8 и EAN-13. Конечно, я мог бы взять готовые и более функциональные сканеры из интернета, НО зачем? Зачем, если можно сделать самому, если можно развить свои навыки и расширить портфолио? Вот и я так подумал...
Если вы заинтересовались - я сейчас вам раскачаю про код...
https://habr.com/ru/articles/891238/
#cpp #programming
👉 @cpp_lib
Делаем собственный анализатор C++ кода в виде плагина для Clang
Есть много проектов, целью которых является превратить С++ более "безопасный" язык программирования. Но внесение изменений в синтаксис языка обычно нарушает обратную совместимость со старым кодом, который был написан до этого.
Недавно вышла новая версия библиотеки memsafe для языка С++, которая превращает его в Rust с помощью плагина Clang добавляет в С++ безопасное управление динамической памятью и контроль инвалидации ссылочных типов данных во время компиляции приложения.
Но данная статья не о библиотеке, а об особенностях разработки анализатора программы на С++ в виде плагина для Clang.
Можно считать, что это подведение итогов по результатам сравнения нескольких разных способов создания плагина для компилятора С++, а так же очередной Хабрахак для хранения результатов экспериментов и публикации итоговых выводов, которые я решил сохранить не только для себя, но и в виде статьи на Хабре, что бы результатами моего труда могли воспользоваться и другие хорошие люди :-), которым так же может потребоваться погрузиться в дебри парсинга исходного текста программ.
https://habr.com/ru/articles/900224/
#cpp #programming
👉 @cpp_lib
Есть много проектов, целью которых является превратить С++ более "безопасный" язык программирования. Но внесение изменений в синтаксис языка обычно нарушает обратную совместимость со старым кодом, который был написан до этого.
Недавно вышла новая версия библиотеки memsafe для языка С++, которая превращает его в Rust с помощью плагина Clang добавляет в С++ безопасное управление динамической памятью и контроль инвалидации ссылочных типов данных во время компиляции приложения.
Но данная статья не о библиотеке, а об особенностях разработки анализатора программы на С++ в виде плагина для Clang.
Можно считать, что это подведение итогов по результатам сравнения нескольких разных способов создания плагина для компилятора С++, а так же очередной Хабрахак для хранения результатов экспериментов и публикации итоговых выводов, которые я решил сохранить не только для себя, но и в виде статьи на Хабре, что бы результатами моего труда могли воспользоваться и другие хорошие люди :-), которым так же может потребоваться погрузиться в дебри парсинга исходного текста программ.
https://habr.com/ru/articles/900224/
#cpp #programming
👉 @cpp_lib
Как создать собственное расширение компилятора C++
Создание пользовательского расширения компилятора C++ подразумевает понимание базовых механизмов работы компиляторов, изменение или расширение их функциональности и бесшовную интеграцию этих изменений в существующую инфраструктуру компилятора. Это руководство проведет вас через весь процесс, от понимания основ до внедрения и тестирования вашего пользовательского расширения. Целевая аудитория этого руководства — разработчики, которые уже знакомы с C++ и имеют базовое понимание концепций компилятора.
https://habr.com/ru/articles/870840/
original https://www.w3computing.com/articles/how-to-create-a-custom-cpp-compiler-extension/
#cpp #programming
👉 @cpp_lib
Создание пользовательского расширения компилятора C++ подразумевает понимание базовых механизмов работы компиляторов, изменение или расширение их функциональности и бесшовную интеграцию этих изменений в существующую инфраструктуру компилятора. Это руководство проведет вас через весь процесс, от понимания основ до внедрения и тестирования вашего пользовательского расширения. Целевая аудитория этого руководства — разработчики, которые уже знакомы с C++ и имеют базовое понимание концепций компилятора.
https://habr.com/ru/articles/870840/
original https://www.w3computing.com/articles/how-to-create-a-custom-cpp-compiler-extension/
#cpp #programming
👉 @cpp_lib
🌌 Путешествие в мир Авроры: создаём приложения с Qt/QML 🚀
Российская мобильная ОС Аврора — перспективная платформа для разработчиков. Хотите узнать, как создавать для неё нативные приложения с помощью Qt/QML? Разбираем всё на открытом вебинаре!
📅 22 апреля в 20:00
🎓 Открытый вебинар с Ксенией Лагутиной
💡 Что разберём?
✅ Почему ОС Аврора — интересная среда для разработки
✅ Как работает Аврора SDK и чем поможет разработчику
✅ С чего начать разработку нативных приложений
✅ Как создать мини-приложение на QML, которое отправляет уведомления в систему
🎯 Что получите?
✔️ Понимание ключевых особенностей ОС Аврора
✔️ Навыки работы с Аврора SDK и Аврора IDE
✔️ Практический опыт создания приложения на QML
Присоединяйтесь и погружайтесь в разработку под Аврору!
👉 Регистрируйтесь по ссылке: https://vk.cc/cKVg3i
Бесплатное занятие приурочено к старту курса Разработка прикладного ПО на Qt и ОС «Аврора», обучение на котором позволит освоить кросс-платформенный фреймворк Qt.
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Российская мобильная ОС Аврора — перспективная платформа для разработчиков. Хотите узнать, как создавать для неё нативные приложения с помощью Qt/QML? Разбираем всё на открытом вебинаре!
📅 22 апреля в 20:00
🎓 Открытый вебинар с Ксенией Лагутиной
💡 Что разберём?
✅ Почему ОС Аврора — интересная среда для разработки
✅ Как работает Аврора SDK и чем поможет разработчику
✅ С чего начать разработку нативных приложений
✅ Как создать мини-приложение на QML, которое отправляет уведомления в систему
🎯 Что получите?
✔️ Понимание ключевых особенностей ОС Аврора
✔️ Навыки работы с Аврора SDK и Аврора IDE
✔️ Практический опыт создания приложения на QML
Присоединяйтесь и погружайтесь в разработку под Аврору!
👉 Регистрируйтесь по ссылке: https://vk.cc/cKVg3i
Бесплатное занятие приурочено к старту курса Разработка прикладного ПО на Qt и ОС «Аврора», обучение на котором позволит освоить кросс-платформенный фреймворк Qt.
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Media is too big
VIEW IN TELEGRAM
Практика языка C (МФТИ, 2023-2024). Допсеминар: системы сборки (make, cmake).
00:00 Зависимости и хедера
08:22 Build.sh
11:48 Makefiles и декларативная модель
19:51 Ленивые и переменные
30:52 Автоматические переменные
36:15 Первая версия makefile
41:33 Функции и wildcards
47:40 Вторая версия makefile и зависимости от хедеров
56:36 Третья итерация: почти идеальный makefile
01:06:26 Знакомство с cmake
01:19:35 Бонус. Немного больше про cmake.
01:30:40 Окончательные уроки.
источник
#cpp #programming
👉 @cpp_lib
00:00 Зависимости и хедера
08:22 Build.sh
11:48 Makefiles и декларативная модель
19:51 Ленивые и переменные
30:52 Автоматические переменные
36:15 Первая версия makefile
41:33 Функции и wildcards
47:40 Вторая версия makefile и зависимости от хедеров
56:36 Третья итерация: почти идеальный makefile
01:06:26 Знакомство с cmake
01:19:35 Бонус. Немного больше про cmake.
01:30:40 Окончательные уроки.
источник
#cpp #programming
👉 @cpp_lib
📕Открытый урок об управлении микроклиматом с помощью микроконтроллеров для радиолюбителей, разработчиков встраемого ПО, инженеров, разработчиков электроники и инженеров-схемотехников.
На открытом уроке 21 апреля в 20:00 мск мы погрузимся в тонкости подключения и программировании системы управления микроклиматом с помощью микроконтроллеров.
📗В результате вы:
- Узнаете, как подключить к микроконтроллеру и запрограммировать датчики температуры, влажности и исполнительное устройство;
- Разберетесь, как сделать прототип системы, которая управляет микроклиматом сама;
- Освоите на практике техники управления макетом по WiFi с мобильного телефона или компьютера с помощью создания простого web-сайта.
Спикер Игорь Морозов — эксперт в сфере Embedded Development, 15+ лет в разработке и управлении IT-проектами, технический директор стартапа по созданию робототехнических устройств с элементами машинного зрения.
👉Регистрируйтесь прямо сейчас, чтобы не пропустить мероприятие: https://vk.cc/cKX0zr
📙Все участники открытого урока получат скидку на курс "Embedded Developer"
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
На открытом уроке 21 апреля в 20:00 мск мы погрузимся в тонкости подключения и программировании системы управления микроклиматом с помощью микроконтроллеров.
📗В результате вы:
- Узнаете, как подключить к микроконтроллеру и запрограммировать датчики температуры, влажности и исполнительное устройство;
- Разберетесь, как сделать прототип системы, которая управляет микроклиматом сама;
- Освоите на практике техники управления макетом по WiFi с мобильного телефона или компьютера с помощью создания простого web-сайта.
Спикер Игорь Морозов — эксперт в сфере Embedded Development, 15+ лет в разработке и управлении IT-проектами, технический директор стартапа по созданию робототехнических устройств с элементами машинного зрения.
👉Регистрируйтесь прямо сейчас, чтобы не пропустить мероприятие: https://vk.cc/cKX0zr
📙Все участники открытого урока получат скидку на курс "Embedded Developer"
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Линус Торвальдс: Критика C++ — Комплексный анализ
Линус Торвальдс, создатель (и великодушный диктатор) Linux, всегда с особой критикой относился к C++, объясняя почему он отвергает его в разработке ядра Linux. Но он не просто резко высказывается против использования C++, а приводит ряд аргументов, которые мы с вами сегодня и рассмотрим.
В чем причина неприятия C++? Давайте рассмотрим аргументы, которые Линус приводит против его использования.
C и C++ очень похожи друг на друга, но все‑таки это не одно и то же. C++ является объектно‑ориентированной версией C. Некоторые даже называют его преемником C. Однако C++ представляет из себя скорее расширение языка C, нежели его полноценную замену. Он добавляет такие функции, как объекты, конструкторы, деструкторы, шаблоны, обработка исключений, пространства имен и перегрузка операторов. Эти расширения приносят с собой свои собственные парадигмы и проблемы. Неудивительно, что все технические аргументы Линуса против C++ связаны именно с этими расширениями.
https://habr.com/ru/companies/otus/articles/902724/
original https://medium.com/@jankammerath/linus-torvalds-critique-of-c-a-comprehensive-review-ea8374084abf
#cpp #programming
👉 @cpp_lib
Линус Торвальдс, создатель (и великодушный диктатор) Linux, всегда с особой критикой относился к C++, объясняя почему он отвергает его в разработке ядра Linux. Но он не просто резко высказывается против использования C++, а приводит ряд аргументов, которые мы с вами сегодня и рассмотрим.
В чем причина неприятия C++? Давайте рассмотрим аргументы, которые Линус приводит против его использования.
C и C++ очень похожи друг на друга, но все‑таки это не одно и то же. C++ является объектно‑ориентированной версией C. Некоторые даже называют его преемником C. Однако C++ представляет из себя скорее расширение языка C, нежели его полноценную замену. Он добавляет такие функции, как объекты, конструкторы, деструкторы, шаблоны, обработка исключений, пространства имен и перегрузка операторов. Эти расширения приносят с собой свои собственные парадигмы и проблемы. Неудивительно, что все технические аргументы Линуса против C++ связаны именно с этими расширениями.
https://habr.com/ru/companies/otus/articles/902724/
original https://medium.com/@jankammerath/linus-torvalds-critique-of-c-a-comprehensive-review-ea8374084abf
#cpp #programming
👉 @cpp_lib
🚀 CUTE_HEADERS - Коллекция кроссплатформенных однофайловых библиотек на C/C++ без зависимостей, в основном используемых для разработки игр.
🔹 Математика (векторы, матрицы)
🔹 Системы частиц
🔹 Аудио и таймеры
🔹 Работа с файлами
🔹 Простая физика и коллизии
🔹 Анимация и графика
🔹 И многое другое!
Все библиотеки — в одном .h файле, без зависимостей. Отлично подходят для маленьких проектов, прототипов и учебных задач.
https://github.com/RandyGaul/cute_headers
#cpp #programming
👉 @cpp_lib
🔹 Математика (векторы, матрицы)
🔹 Системы частиц
🔹 Аудио и таймеры
🔹 Работа с файлами
🔹 Простая физика и коллизии
🔹 Анимация и графика
🔹 И многое другое!
Все библиотеки — в одном .h файле, без зависимостей. Отлично подходят для маленьких проектов, прототипов и учебных задач.
https://github.com/RandyGaul/cute_headers
#cpp #programming
👉 @cpp_lib
⚙️Уже работаете с Rust, но хотите эффективно интегрировать его с другими языками? Или интересуетесь, как устроен процесс сборки и линковки в этом языке?
🗓 На открытом вебинаре 24 апреля в 20:00 мск мы подробно разберем, как собирать и линковать библиотеки в Rust, как использовать Rust-библиотеки в других языках, а также реализуем Си ABI (Application Binary Interface). Вы получите знания, которые помогут вам повысить производительность ваших проектов и интегрировать Rust в существующие решения.
👨💻 Урок будет полезен всем, кто хочет углубить свои знания в Rust, повысить квалификацию и навыки работы с библиотеками и системами. Вы сможете применять полученные знания в реальных проектах.
👉 Присоединяйтесь к открытому вебинару и получите скидку на большое обучение «Rust Developer. Professional»: https://vk.cc/cL2YJr
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Please open Telegram to view this post
VIEW IN TELEGRAM
Три теоремы о сортировках
Я знаю многих программистов и руководителей в IT компаниях, которые недолюбливают математиков и в частности считают их далёкими от жизни идиотами из-за их утверждений в духе "нельзя отсортировать последовательность быстрее, чем за nlogn" -- ведь это очевидным образом неверно, есть же сортировка подсчетом и radix sort. Нюанс в том, что описанное выше -- это распространённая некорректная трактовка одной из ключевых теорем об алгоритмах сортировок, корректное утверждение выглядит так: "не существует алгоритма, который бы гарантированно находил перестановку n элементов, приводящую к возрастающему порядку, быстрее чем за nlogn используя только операции попарного сравнения". В этом утверждении больше слов, оно более сложно в плане когнитивного восприятия, ключевой момент обозначил жирным шрифтом, чувствуете разницу?
https://habr.com/ru/articles/893452/
#cpp #programming
👉 @cpp_lib
Я знаю многих программистов и руководителей в IT компаниях, которые недолюбливают математиков и в частности считают их далёкими от жизни идиотами из-за их утверждений в духе "нельзя отсортировать последовательность быстрее, чем за nlogn" -- ведь это очевидным образом неверно, есть же сортировка подсчетом и radix sort. Нюанс в том, что описанное выше -- это распространённая некорректная трактовка одной из ключевых теорем об алгоритмах сортировок, корректное утверждение выглядит так: "не существует алгоритма, который бы гарантированно находил перестановку n элементов, приводящую к возрастающему порядку, быстрее чем за nlogn используя только операции попарного сравнения". В этом утверждении больше слов, оно более сложно в плане когнитивного восприятия, ключевой момент обозначил жирным шрифтом, чувствуете разницу?
https://habr.com/ru/articles/893452/
#cpp #programming
👉 @cpp_lib
🔥 Готовы прокачать свои навыки на C++ до уровня эксперта? Освойте разработку на Qt и создавайте приложения для ОС «Аврора», используя лучшие практики и мощные инструменты! 🚀
Курс "Разработка прикладного ПО на Qt и ОС «Аврора»" — возможность для разработчиков на C++, которые хотят:
- изучить работу с кросс-платформенным фреймворком Qt.
- создавать высококачественные графические интерфейсы.
- развиваться в нише ОС «Аврора», которая только набирает популярность.
💥 до 27 апреля не упустите шанс получить скидку 15%! Только для вас скидка 10% + промокод QT_Avrora5 на дополнительные 5%!
Пройдите вступительное тестирование и успейте вступить в группу курса!
👉Пройти тест: https://vk.cc/cL4RhV
Курс "Разработка прикладного ПО на Qt и ОС «Аврора»" — возможность для разработчиков на C++, которые хотят:
- изучить работу с кросс-платформенным фреймворком Qt.
- создавать высококачественные графические интерфейсы.
- развиваться в нише ОС «Аврора», которая только набирает популярность.
💥 до 27 апреля не упустите шанс получить скидку 15%! Только для вас скидка 10% + промокод QT_Avrora5 на дополнительные 5%!
Пройдите вступительное тестирование и успейте вступить в группу курса!
👉Пройти тест: https://vk.cc/cL4RhV
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
🚀 Подборка Telegram каналов для программистов
Системное администрирование, DevOps 📌
https://www.tg-me.com/bash_srv Bash Советы
https://www.tg-me.com/win_sysadmin Системный Администратор Windows
https://www.tg-me.com/sysadmin_girl Девочка Сисадмин
https://www.tg-me.com/srv_admin_linux Админские угодья
https://www.tg-me.com/linux_srv Типичный Сисадмин
https://www.tg-me.com/devopslib Библиотека девопса | DevOps, SRE, Sysadmin
https://www.tg-me.com/linux_odmin Linux: Системный администратор
https://www.tg-me.com/devops_star DevOps Star (Звезда Девопса)
https://www.tg-me.com/i_linux Системный администратор
https://www.tg-me.com/linuxchmod Linux
https://www.tg-me.com/sys_adminos Системный Администратор
https://www.tg-me.com/tipsysdmin Типичный Сисадмин (фото железа, было/стало)
https://www.tg-me.com/sysadminof Книги для админов, полезные материалы
https://www.tg-me.com/i_odmin Все для системного администратора
https://www.tg-me.com/i_odmin_book Библиотека Системного Администратора
https://www.tg-me.com/i_odmin_chat Чат системных администраторов
https://www.tg-me.com/i_DevOps DevOps: Пишем о Docker, Kubernetes и др.
https://www.tg-me.com/sysadminoff Новости Линукс Linux
1C разработка 📌
https://www.tg-me.com/odin1C_rus Cтатьи, курсы, советы, шаблоны кода 1С
https://www.tg-me.com/DevLab1C 1С:Предприятие 8
https://www.tg-me.com/razrab_1C 1C Разработчик
https://www.tg-me.com/buh1C_prog 1C Программист | Бухгалтерия и Учёт
https://www.tg-me.com/rabota1C_rus Вакансии для программистов 1С
Программирование C++📌
https://www.tg-me.com/telegram/com.cpp_lib Библиотека C/C++ разработчика
https://www.tg-me.com/cpp_knigi Книги для программистов C/C++
https://www.tg-me.com/cpp_geek Учим C/C++ на примерах
Программирование Python 📌
https://www.tg-me.com/pythonofff Python академия.
https://www.tg-me.com/BookPython Библиотека Python разработчика
https://www.tg-me.com/python_real Python подборки на русском и английском
https://www.tg-me.com/python_360 Книги по Python
Java разработка 📌
https://www.tg-me.com/BookJava Библиотека Java разработчика
https://www.tg-me.com/java_360 Книги по Java Rus
https://www.tg-me.com/java_geek Учим Java на примерах
GitHub Сообщество 📌
https://www.tg-me.com/Githublib Интересное из GitHub
Базы данных (Data Base) 📌
https://www.tg-me.com/database_info Все про базы данных
Мобильная разработка: iOS, Android 📌
https://www.tg-me.com/developer_mobila Мобильная разработка
https://www.tg-me.com/kotlin_lib Подборки полезного материала по Kotlin
Фронтенд разработка 📌
https://www.tg-me.com/frontend_1 Подборки для frontend разработчиков
https://www.tg-me.com/frontend_sovet Frontend советы, примеры и практика!
https://www.tg-me.com/React_lib Подборки по React js и все что с ним связано
Разработка игр 📌
https://www.tg-me.com/game_devv Все о разработке игр
Библиотеки 📌
https://www.tg-me.com/book_for_dev Книги для программистов Rus
https://www.tg-me.com/programmist_of Книги по программированию
https://www.tg-me.com/proglb Библиотека программиста
https://www.tg-me.com/bfbook Книги для программистов
БигДата, машинное обучение 📌
https://www.tg-me.com/bigdata_1 Big Data, Machine Learning
Программирование 📌
https://www.tg-me.com/bookflow Лекции, видеоуроки, доклады с IT конференций
https://www.tg-me.com/rust_lib Полезный контент по программированию на Rust
https://www.tg-me.com/golang_lib Библиотека Go (Golang) разработчика
https://www.tg-me.com/itmozg Программисты, дизайнеры, новости из мира IT
https://www.tg-me.com/php_lib Библиотека PHP программиста 👨🏼💻👩💻
https://www.tg-me.com/nodejs_lib Подборки по Node js и все что с ним связано
https://www.tg-me.com/ruby_lib Библиотека Ruby программиста
https://www.tg-me.com/lifeproger Жизнь программиста. Авторский канал.
QA, тестирование 📌
https://www.tg-me.com/testlab_qa Библиотека тестировщика
Шутки программистов 📌
https://www.tg-me.com/itumor Шутки программистов
Защита, взлом, безопасность 📌
https://www.tg-me.com/thehaking Канал о кибербезопасности
https://www.tg-me.com/xakep_2 Хакер Free
Книги, статьи для дизайнеров 📌
https://www.tg-me.com/ux_web Статьи, книги для дизайнеров
Математика 📌
https://www.tg-me.com/Pomatematike Канал по математике
https://www.tg-me.com/phis_mat Обучающие видео, книги по Физике и Математике
https://www.tg-me.com/matgeoru Математика | Геометрия | Логика
Excel лайфхак📌
https://www.tg-me.com/Excel_lifehack
https://www.tg-me.com/mir_teh Мир технологий (Technology World)
Вакансии 📌
https://www.tg-me.com/sysadmin_rabota Системный Администратор
https://www.tg-me.com/progjob Вакансии в IT
Системное администрирование, DevOps 📌
https://www.tg-me.com/bash_srv Bash Советы
https://www.tg-me.com/win_sysadmin Системный Администратор Windows
https://www.tg-me.com/sysadmin_girl Девочка Сисадмин
https://www.tg-me.com/srv_admin_linux Админские угодья
https://www.tg-me.com/linux_srv Типичный Сисадмин
https://www.tg-me.com/devopslib Библиотека девопса | DevOps, SRE, Sysadmin
https://www.tg-me.com/linux_odmin Linux: Системный администратор
https://www.tg-me.com/devops_star DevOps Star (Звезда Девопса)
https://www.tg-me.com/i_linux Системный администратор
https://www.tg-me.com/linuxchmod Linux
https://www.tg-me.com/sys_adminos Системный Администратор
https://www.tg-me.com/tipsysdmin Типичный Сисадмин (фото железа, было/стало)
https://www.tg-me.com/sysadminof Книги для админов, полезные материалы
https://www.tg-me.com/i_odmin Все для системного администратора
https://www.tg-me.com/i_odmin_book Библиотека Системного Администратора
https://www.tg-me.com/i_odmin_chat Чат системных администраторов
https://www.tg-me.com/i_DevOps DevOps: Пишем о Docker, Kubernetes и др.
https://www.tg-me.com/sysadminoff Новости Линукс Linux
1C разработка 📌
https://www.tg-me.com/odin1C_rus Cтатьи, курсы, советы, шаблоны кода 1С
https://www.tg-me.com/DevLab1C 1С:Предприятие 8
https://www.tg-me.com/razrab_1C 1C Разработчик
https://www.tg-me.com/buh1C_prog 1C Программист | Бухгалтерия и Учёт
https://www.tg-me.com/rabota1C_rus Вакансии для программистов 1С
Программирование C++📌
https://www.tg-me.com/telegram/com.cpp_lib Библиотека C/C++ разработчика
https://www.tg-me.com/cpp_knigi Книги для программистов C/C++
https://www.tg-me.com/cpp_geek Учим C/C++ на примерах
Программирование Python 📌
https://www.tg-me.com/pythonofff Python академия.
https://www.tg-me.com/BookPython Библиотека Python разработчика
https://www.tg-me.com/python_real Python подборки на русском и английском
https://www.tg-me.com/python_360 Книги по Python
Java разработка 📌
https://www.tg-me.com/BookJava Библиотека Java разработчика
https://www.tg-me.com/java_360 Книги по Java Rus
https://www.tg-me.com/java_geek Учим Java на примерах
GitHub Сообщество 📌
https://www.tg-me.com/Githublib Интересное из GitHub
Базы данных (Data Base) 📌
https://www.tg-me.com/database_info Все про базы данных
Мобильная разработка: iOS, Android 📌
https://www.tg-me.com/developer_mobila Мобильная разработка
https://www.tg-me.com/kotlin_lib Подборки полезного материала по Kotlin
Фронтенд разработка 📌
https://www.tg-me.com/frontend_1 Подборки для frontend разработчиков
https://www.tg-me.com/frontend_sovet Frontend советы, примеры и практика!
https://www.tg-me.com/React_lib Подборки по React js и все что с ним связано
Разработка игр 📌
https://www.tg-me.com/game_devv Все о разработке игр
Библиотеки 📌
https://www.tg-me.com/book_for_dev Книги для программистов Rus
https://www.tg-me.com/programmist_of Книги по программированию
https://www.tg-me.com/proglb Библиотека программиста
https://www.tg-me.com/bfbook Книги для программистов
БигДата, машинное обучение 📌
https://www.tg-me.com/bigdata_1 Big Data, Machine Learning
Программирование 📌
https://www.tg-me.com/bookflow Лекции, видеоуроки, доклады с IT конференций
https://www.tg-me.com/rust_lib Полезный контент по программированию на Rust
https://www.tg-me.com/golang_lib Библиотека Go (Golang) разработчика
https://www.tg-me.com/itmozg Программисты, дизайнеры, новости из мира IT
https://www.tg-me.com/php_lib Библиотека PHP программиста 👨🏼💻👩💻
https://www.tg-me.com/nodejs_lib Подборки по Node js и все что с ним связано
https://www.tg-me.com/ruby_lib Библиотека Ruby программиста
https://www.tg-me.com/lifeproger Жизнь программиста. Авторский канал.
QA, тестирование 📌
https://www.tg-me.com/testlab_qa Библиотека тестировщика
Шутки программистов 📌
https://www.tg-me.com/itumor Шутки программистов
Защита, взлом, безопасность 📌
https://www.tg-me.com/thehaking Канал о кибербезопасности
https://www.tg-me.com/xakep_2 Хакер Free
Книги, статьи для дизайнеров 📌
https://www.tg-me.com/ux_web Статьи, книги для дизайнеров
Математика 📌
https://www.tg-me.com/Pomatematike Канал по математике
https://www.tg-me.com/phis_mat Обучающие видео, книги по Физике и Математике
https://www.tg-me.com/matgeoru Математика | Геометрия | Логика
Excel лайфхак📌
https://www.tg-me.com/Excel_lifehack
https://www.tg-me.com/mir_teh Мир технологий (Technology World)
Вакансии 📌
https://www.tg-me.com/sysadmin_rabota Системный Администратор
https://www.tg-me.com/progjob Вакансии в IT
Telegram
Bash Советы
🚀 Секреты и советы по Bash
🔹 Полезные трюки, хитрые однострочники и лайфхаки для работы в терминале.
🔹 Автоматизация, скрипты и оптимизация работы в Linux.
🔹 Стать мастером Bash легко – просто подпишись!
💻 Прокачивай терминал вместе с нами! 👇
🔹 Полезные трюки, хитрые однострочники и лайфхаки для работы в терминале.
🔹 Автоматизация, скрипты и оптимизация работы в Linux.
🔹 Стать мастером Bash легко – просто подпишись!
💻 Прокачивай терминал вместе с нами! 👇
Техники сортировки в C++
Сортировка — это процесс упорядочивания элементов массива или списка в определённом порядке (например, по возрастанию или убыванию).
В C++ реализовано множество алгоритмов сортировки, включая:
- Сортировку пузырьком (Bubble Sort)
- Сортировку вставками (Insertion Sort)
- Сортировку выбором (Selection Sort)
- Быструю сортировку (Quick Sort)
- Сортировку слиянием (Merge Sort)
- Сортировку кучей (Heap Sort)
- ПорRadix Sort
- Bucket Sort
Каждый метод сортировки имеет свою эффективность по времени выполнения и памяти:
- Простые алгоритмы вроде пузырьковой сортировки подходят для небольших массивов.
- Быстрая сортировка и сортировка слиянием лучше работают с большими объёмами данных.
- Выбор конкретного метода зависит от характеристик задачи: объём данных, требования к памяти, допустимость нестабильной сортировки и т.д.
Также в C++ стандартная библиотека предоставляет функцию
https://www.softwaretestinghelp.com/sorting-techniques-in-cpp/
#cpp #programming
👉 @cpp_lib
Сортировка — это процесс упорядочивания элементов массива или списка в определённом порядке (например, по возрастанию или убыванию).
В C++ реализовано множество алгоритмов сортировки, включая:
- Сортировку пузырьком (Bubble Sort)
- Сортировку вставками (Insertion Sort)
- Сортировку выбором (Selection Sort)
- Быструю сортировку (Quick Sort)
- Сортировку слиянием (Merge Sort)
- Сортировку кучей (Heap Sort)
- ПорRadix Sort
- Bucket Sort
Каждый метод сортировки имеет свою эффективность по времени выполнения и памяти:
- Простые алгоритмы вроде пузырьковой сортировки подходят для небольших массивов.
- Быстрая сортировка и сортировка слиянием лучше работают с большими объёмами данных.
- Выбор конкретного метода зависит от характеристик задачи: объём данных, требования к памяти, допустимость нестабильной сортировки и т.д.
Также в C++ стандартная библиотека предоставляет функцию
std::sort()
, которая реализует быструю сортировку с улучшениями.https://www.softwaretestinghelp.com/sorting-techniques-in-cpp/
#cpp #programming
👉 @cpp_lib
Media is too big
VIEW IN TELEGRAM
Vibe Coding C++ — Йенс Веллер — Meeting C++ online
Я занимался "vibe coding" на C++, чтобы почувствовать, на что сейчас способны Grok, ChatGPT и Claude*. Простая задача с несколькими нетривиальными случаями — это и стало испытанием.
Я задумался, можно ли создать ассистента для программирования на базе ИИ, и решил, что будет отличной идеей провести небольшое "собеседование" с этими агентами, чтобы проверить, справятся ли они с этой задачей.
источник
#cpp #programming
👉 @cpp_lib
Я занимался "vibe coding" на C++, чтобы почувствовать, на что сейчас способны Grok, ChatGPT и Claude*. Простая задача с несколькими нетривиальными случаями — это и стало испытанием.
Я задумался, можно ли создать ассистента для программирования на базе ИИ, и решил, что будет отличной идеей провести небольшое "собеседование" с этими агентами, чтобы проверить, справятся ли они с этой задачей.
источник
#cpp #programming
👉 @cpp_lib
Media is too big
VIEW IN TELEGRAM
Сборка C++ проектов. Raylib. Дополнительные темы CMAKE. Game Engine серии
0:00:00 - Введение
0:00:51 - Raylib, SDL, SFML
0:03:20 - Подключаем, тестируем raylib
0:14:22 - Вложенные CMakeLists
0:33:15 - Макросы в CMake
0:36:35 - Raylib + ChuckNorrisJokes
0:45:49 - Собираем все проекты
источник
#cpp #programming
👉 @cpp_lib
0:00:00 - Введение
0:00:51 - Raylib, SDL, SFML
0:03:20 - Подключаем, тестируем raylib
0:14:22 - Вложенные CMakeLists
0:33:15 - Макросы в CMake
0:36:35 - Raylib + ChuckNorrisJokes
0:45:49 - Собираем все проекты
источник
#cpp #programming
👉 @cpp_lib