C/C++ Ready | Программирование
11.6K subscribers
692 photos
41 videos
334 links
Авторский канал по разработке на C и C++.
Ресурсы, гайды, задачи, шпаргалки.
Информация ежедневно пополняется!

Автор: @energy_it

Реклама на бирже: https://telega.in/c/cpp_ready
加入频道
👩‍💻 Погрузимся в мир алгоритмов на C++!

Сегодня мы детально рассмотрим, как асимптотическая оценка раскрывает секреты сложности алгоритмов и позволяет предсказать, каким образом изменится время выполнения вашего кода при росте входных данных. Знание этого открывает новую грань в понимании принципов разработки и оптимизации.

Эта рубрика — новинка на канале, и я буду рад, если вы поддержите её своими реакциями и комментариями.

📣 C++ Ready | #алгоритмы
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥21🤝13👍5👎1
❤️ Интересная статья с просторов Хабра. В ней автор делится опытом рендеринга с использованием GDI на C++.

Она включает в себя:
• GDI API для работы с графикой.
• Класс GdiTexture для текстур.
• Преобразование RGB в BGR.


🔊 Советую продолжить читать на Habr!


📣 C++ Ready | #статья
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7👍5
Что же выведет консоль?
Anonymous Quiz
45%
A
14%
B
26%
C
15%
D
👍7🔥3
Media is too big
VIEW IN TELEGRAM
Нашел вам очередной бомбический репозиторий для тех, кому нужно много бесплатных API — Public APIs

Там собраны разные API с публичным доступом, которые распределены по категориям. Этот репозиторий точно поможет вам в создании собственного проекта.

Оставляю ссылочку:
github.com/public-apis

📣 C++ Ready | #ресурс
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11😁5👎1
NULL или nullptr? Разбираемся в деталях и учимся писать безопасный код!

Если вы пишете на C++, то наверняка сталкивались с понятиями NULL и nullptr. Но знаете ли вы, что это не одно и то же? На первый взгляд, они кажутся взаимозаменяемыми, но на самом деле между ними есть важные различия, которые могут повлиять на поведение вашего кода.

В языке C++ макрос NULL традиционно определяется как 0. Это может приводить к неожиданным ситуациям, особенно при перегрузке функций. Рассмотрим пример:
void func(int) {}  
void func(char*) {}
func(NULL); // Вызовет func(int), хотя вы, скорее всего, ожидали func(char*)!


Проблема в том, что NULL — это просто ноль, и компилятор не всегда понимает, что вы имели в виду указатель. В результате может быть вызвана не та функция, которую вы ожидали. Чтобы избежать таких сюрпризов, в C++11 появилось ключевое слово nullptr. Оно однозначно трактуется как нулевой указатель:
func(nullptr); // вызовется func(char*) — как и задумывалось!  


Таким образом, nullptr решает проблему неоднозначности, которая возникает при использовании NULL. Но на этом преимущества nullptr не заканчиваются. Еще один важный плюс — безопасность типов. Сравните:
auto x = NULL;    // x будет int  
auto y = nullptr; // y — строго std::nullptr_t


nullptr имеет тип std::nullptr_t, что делает его более безопасным и предсказуемым в использовании. Кроме того, использование nullptr делает код более читаемым: когда вы его видите, сразу ясно, что речь идет о нулевом указателе, а не о числе.

🔥 Поэтому используйте nullptr в современном C++. Это не только устраняет неоднозначности, но и делает код более читаемым и безопасным. А NULL оставьте для совместимости со старыми проектами или для ностальгических моментов.

📣 C++ Ready | #практика
Please open Telegram to view this post
VIEW IN TELEGRAM
👍19🔥7
Media is too big
VIEW IN TELEGRAM
😎 Нашёл вам отличный сайт для изучения C++ — Programiz

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

Она предлагает пошаговые учебники, практические примеры и онлайн-компилятор для изучения C++.

📌 Ссылочка: programiz.com

➡️ C# Ready | #ресурс
Please open Telegram to view this post
VIEW IN TELEGRAM
👍17🔥4🤝3
👩‍💻 Сегодня изучим 2 полезных метода для работы с памятью и значениями!

Эти инструменты помогут вам эффективно организовать данные, упрощая дальнейшую обработку и поиск.

std::sort — сортирует элементы контейнера по возрастанию или по заданному критерию.

std::unique — удаляет подряд идущие дубликаты в отсортированном контейнере, возвращая новый конец диапазона.

🔥если узнал новое
🤝если уже пользовался

📣 C++ Ready | #метод
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥26👍9🤝8
🔥58😁27👍81
😄 Интересная статья с просторов Хабра. В которой автор делится опытом создания UI-библиотеки на C++

В этой статье:
• Постановка задач для разработки UI-фреймворка
• Основные принципы и подходы при реализации
• Общая архитектура фреймворка

🔊 Советую продолжить читать на Habr!


📣 C++ Ready | #статья
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14🔥4
This media is not supported in your browser
VIEW IN TELEGRAM
BiRefNet — лучшая нейросеть для удаления заднего фона. Она отлично справляется с самыми сложными картинками.

Ссылочка: huggingface.co

📣 C++ Ready | #ресурс
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥12👍5
Что же выведет консоль?
Anonymous Quiz
40%
A
6%
B
41%
C
13%
D
👍16🔥5
👩‍💻 В этом посте разберем, как работает std::function в C++ и чем он полезен в реальных проектах!

std::function — это универсальный контейнер для вызываемых объектов: функций, лямбд и функторов. Он позволяет передавать поведение как параметр, создавая гибкие и абстрактные интерфейсы.

Основные моменты:
Хранит любую вызываемую сущность
Упрощает работу с обратными вызовами
Отличается от шаблонов: чуть медленнее, но зато гибче и универсальнее


🤝 — если уже пользовался
🔥 — если узнал новое


📣 C++ Ready | #гайд
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥18🤝10👍6