👍8🔥3
Media is too big
VIEW IN TELEGRAM
Нашел вам очередной бомбический репозиторий для тех, кому нужно много бесплатных API — Public APIs
Там собраны разные API с публичным доступом, которые распределены по категориям. Этот репозиторий точно поможет вам в создании собственного проекта.
Оставляю ссылочку: github.com/public-apis
📣 C++ Ready | #ресурс
Там собраны разные API с публичным доступом, которые распределены по категориям. Этот репозиторий точно поможет вам в создании собственного проекта.
Оставляю ссылочку: github.com/public-apis
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11😁5👎1
NULL или nullptr? Разбираемся в деталях и учимся писать безопасный код!
Если вы пишете на C++, то наверняка сталкивались с понятиями
В языке C++ макрос
Проблема в том, что
Таким образом,
🔥 Поэтому используйте
📣 C++ Ready | #практика
Если вы пишете на 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 оставьте для совместимости со старыми проектами или для ностальгических моментов. Please open Telegram to view this post
VIEW IN TELEGRAM
👍20🔥7
Media is too big
VIEW IN TELEGRAM
Платформа охватывает все ключевые аспекты языка, предлагая удобный подход как для новичков, так и для опытных программистов.
Она предлагает пошаговые учебники, практические примеры и онлайн-компилятор для изучения C++.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍17🔥4🤝3
Эти инструменты помогут вам эффективно организовать данные, упрощая дальнейшую обработку и поиск.
•
std::sort — сортирует элементы контейнера по возрастанию или по заданному критерию.•
std::unique — удаляет подряд идущие дубликаты в отсортированном контейнере, возвращая новый конец диапазона.🔥 — если узнал новое
🤝 — если уже пользовался
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥26👍9🤝8
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
👍16🔥5
std::function — это универсальный контейнер для вызываемых объектов: функций, лямбд и функторов. Он позволяет передавать поведение как параметр, создавая гибкие и абстрактные интерфейсы.Основные моменты:
• Хранит любую вызываемую сущность
• Упрощает работу с обратными вызовами
• Отличается от шаблонов: чуть медленнее, но зато гибче и универсальнее
🤝 — если уже пользовался
🔥 — если узнал новое
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥19🤝11👍6