Библиотека C/C++ разработчика
Kanalga Telegram’da o‘tish
Полезные материалы по всему, что может быть полезно плюсовику/сишнику. По всем вопросам @evgenycarter
Ko'proq ko'rsatish7 323
Obunachilar
+224 soatlar
+87 kunlar
+1430 kunlar
Postlar arxiv
Реализация алгоритма SHA-256
SHA (Алгоритмы безопасного хеширования) – это семейство криптографических хэш-функций, способных принимать сообщения произвольной длины и вычислять уникальный хэш-код фиксированной длины. Хэш-код SHA может быть использован для проверки целостности сообщения, а также для генерации цифровой подписи сообщения. На данный момент существует несколько стандартов безопасного алгоритма, каждый последующий включает более надёжные хэш-функции.
https://habr.com/ru/articles/729260/
#cpp #programming
👉 @cpp_lib
Шпаргалка по использованию умных указателей в C++
Благодаря наличию исключений, язык C++ позволяет разделить основную логику приложения и обработку ошибок, не мешая их в одну кучу. Что есть очень хорошо. Однако теперь по коду нельзя с уверенностью сказать, где может быть прервано его исполнение. Отсюда возникает опасность утечки ресурсов. Проблема эта решается при помощи деструкторов и идиомы RAII. Впрочем, придерживаться этой идиомы становится проблематично при использовании указателей. Особенно при использовании их не как членов класса, а просто как переменных в методах. На наше с вами счастье, в стандартной библиотеке языка есть умные указатели (smart pointers), придуманные именно для этого случая. Поскольку на C++ я пишу не регулярно, то иногда забываю некоторые нюансы использования умных указателей, в связи с чем решил вот набросать небольшую шпаргалку.
https://telegra.ph/SHpargalka-po-ispolzovaniyu-umnyh-ukazatelej-v-C-10-18
#cpp #programming
👉 @cpp_lib
⚡ Научитесь пользоваться одним из ключевых преимуществ Rust!
Одна из причин популярности Rust среди программистов – это отсутствие сборки мусора в этом языке, что обеспечивает корректное использование памяти и невероятную производительность. Хотите узнать, как Rust достигает этого?
🔸 Приглашаем 23 октября в 20:00 мск на бесплатный вебинар "Владение и заимствование" от Отус!
Вебинар является бесплатной частью продвинутого онлайн-курса "Rust Developer. Professional". Курс доступен в рассрочку.
✔️ На вебинаре вы узнаете:
– Почему владение и заимствование являются ключевыми понятиями в Rust.
– Как они помогают избегать ошибок и повышать производительность.
– Какие дополнительные ограничения налагаются на программистов в Rust.
– Как принципы владения и заимствования помогают писать надёжный и производительный код на других языках.
➡️ Регистрация на вебинар: https://clck.ru/368Hvd
❗️ Вебинар будет полезен всем, кто интересуется разработкой на любом языке программирования
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Интеллектуальные указатели (современный C++)
В современном программировании C++ стандартная библиотека включает смарт-указатели, которые используются для обеспечения того, чтобы программы были свободны от утечки памяти и ресурсов и являются исключениями.
В следующем примере сравниваются объявления необработанного и интеллектуального указателей
void UseRawPointer()
{
// Using a raw pointer -- not recommended.
Song* pSong = new Song(L"Nothing on You", L"Bruno Mars");
// Use pSong...
// Don't forget to delete!
delete pSong;
}
void UseSmartPointer()
{
// Declare a smart pointer on stack and pass it the raw pointer.
unique_ptr<Song> song2(new Song(L"Nothing on You", L"Bruno Mars"));
// Use song2...
wstring s = song2->duration_;
//...
} // song2 is deleted automatically here.
https://learn.microsoft.com/ru-ru/cpp/cpp/smart-pointers-modern-cpp?view=msvc-170
#cpp #programming
👉 @cpp_libБесплатный пробный урок английского в UFirst!
Приглашаем на демо-урок по английскому языку. Все как на обычном уроке, только бесплатно!
Для детей 3-17 лет.
Познакомьтесь со школой, преподавателем, методикой, чтобы выбрать лучшее место для изучения английского.
Хотите попробовать? Бронируйте места в школах Москвы, Санкт-Петербурга и Новосибирска.
Забронировать
#реклама
ufirst.ru
О рекламодателе
decltype
decltype — это ключевое слово, используемое для запроса типа выражения. Оно было введено в C++11 и используется в основном в обобщенном программировании, где часто трудно или даже невозможно определить тип выражения.
Один из примеров использования decltype — это объявление шаблонной функции, тип возвращаемого значения которой зависит от типов аргументов шаблона.
В C++11 можно использовать decltype для конечного возвращаемого типа вместе с ключевым словом auto, чтобы объявить шаблонную функцию, возвращаемый тип которой зависит от типов аргументов шаблона.
В этом примере кода показано, как decltype используется для определения типа выражения. Результат работы этого кода будет зависеть от того, какие значения будут присвоены переменным и какие функции будут вызваны
#cpp #programming
👉 @cpp_lib
Курс Тестировщик ПО. Трудоустройство через 4 месяца!
Профессия Тестировщик идеально подходит новичкам. Неважно, какой у вас уровень. Главное — начать!
Этот курс для вас, если:
- Вы хотите с нуля освоить востребованную IT-профессию, но не готовы тратить годы на обучение.
- Вы не знаете, какое направление выбрать, и волнуетесь, что ошибётесь с курсом.
- Вы не до конца уверены в своих силах и сомневаетесь, что сможете попасть в IT без опыта.
- Вам не хватает мотивации, чтобы начать.
Трудоустроим или вернём деньги!
Вас ждёт индивидуальная поддержка HR-специалиста. Вместе вы составите резюме, подготовите портфолио и разработаете карьерный план, который поможет найти работу быстрее. Сможете выбрать привлекательные вакансии и получите приоритет перед другими соискателями.
Подать заявку
#реклама 16+
skillbox.ru
О рекламодателе
TCP/IP сети с помощью Boost.Asio
Boost.Asio - это кроссплатформенная библиотека C++ для программирования сетей и низкоуровневого ввода-вывода, которая предоставляет разработчикам последовательную асинхронную модель с использованием современного подхода C++.
В этом месяце Ричард Томсон продолжит наше знакомство с Boost.Asio рассмотрением сетевых технологий TCP/IP. Мы рассмотрим, как реализовать клиент NNTP (Network News Transport Protocol) с помощью Boost.Asio. NNTP - это линейно-ориентированный протокол для чтения новостных статей usenet. Это даст нам представление обо всех типичных проблемах, связанных с сетевыми приложениями TCP/IP:
- Как преобразовать имя хоста в IP-адрес?
- Как установить долговременное соединение с сервером NNTP?
- Как обрабатывать произвольно большие объемы данных с NNTP-сервера, которые поступают асинхронно?
- Как мы координируем ввод данных пользователем с вводом/выводом NNTP?
- Как мы справляемся с неожиданными сетевыми ошибками?
источник
#cpp #programming
👉 @cpp_lib
🚀 Участвуй в кейс-чемпионате Лига Приключений от Совкомбанка
📍 Москва: онлайн/офлайн
🏆 Лучшие команды позовём на очное награждение и грандиозную AfterParty в отель Монарх
🗓 3-18 ноября
🙌 Студенты любых вузов и направлений подготовки
🎁 Призовой фонд 480 000 руб
На Лиге тебя ждут:
- Реальные кейсы от экспертов Совкомбанка – укрась решением своё портфолио;
- Полное погружение в финансовую сферу – прокачай софт скилы;
- Возможность присоединиться к команде Совкомбанка – лучших позовём в команду;
- Грандиозная AfterParty – пой с кавер-бэндом, мощно слэмься и участвуй в розыгрышах мерча.
Скорее собирай команду, решай кейс и побеждай! Нет команды? Организаторы помогут тебе найти единомышленников!
👉 Успей зарегистрироваться до 3 ноября: https://cnrlink.com/advleagueitkch
Реклама. ПАО "СОВКОМБАНК". ИНН 4401116480. erid: LjN8JvKac
Детектор Судного дня или как я разработал датчик радиации для Home Assistant
В начале 2023 года, во многих СМИ появилась информация, что стрелки часов Судного дня перевели на десять секунд. Сейчас они замерли на отметке 90 секунд до полуночи, и теперь часы показывают самый высокий уровень риска ядерной катастрофы за всю историю проекта. Эта информация побудила меня создать устройство для мониторинга фоновой радиации — мог бы написать я, но на самом деле, всё началось гораздо раньше и об этом расскажу далее.
Однажды вечером, в 2015 году, мне захотелось посмотреть статистику фоновой радиации в регионе где я проживаю, зашел на мой любимый проект под названием «Народный мониторинг» и начал искать близлежащие датчики, которые могли бы измерять фоновую радиацию. На моё удивление, я не обнаружил подобных датчиков. Ладно, не беда, сказал я себе, ведь я живу в регионе, где есть государственные предприятия атомной энергетики, на их сайте должна же быть публичная информация об уровне фонового излучения. Зашел на сайт, да, действительно, есть статистика по уровню фонового излучения, где на графике показана прямая линия без намека на динамику, естественно, данный результат меня не устроил и я решил собирать статистику самостоятельно, разработав свое устройство.
https://habr.com/ru/companies/timeweb/articles/767094/
#cpp #programming
👉 @cpp_lib
Курс «Графический дизайнер» от Яндекса
За 9 месяцев вы освоите граф. дизайн и соберете портфолио из нескольких проектов!
Попробовать
#реклама 16+
practicum.yandex.ru
О рекламодателе
Суперклей ABI, или Как применять C++ где угодно
Меня зовут Михаил, я backend-разработчик в SimbirSoft. Время от времени я сталкиваюсь с понятием «двоичный», он же «бинарный» интерфейс приложений, или просто ABI (application binary interface). Все найденные мной материалы на эту тему были либо очень скудны, либо вели к многостраничным эпопеям, которые напоминали сборную солянку из описания, например, архитектуры процессора x86, сдобренную стандартом С++.
Но потом я наткнулся на перевод публикации Тита Винтерса в рабочей группе 21 (WG21) — комитета по стандартизации языка C++. В ней он поднимает вопрос поддержки обратной бинарной совместимости. Значит, вопрос актуальный — это и стало мотивацией для написания этой статьи. В ней я сфокусируюсь на примерах и практике использования С++ в других языках программирования. Материал будет полезен middle+ и senior-разработчикам, а также всем, кто хочет сделать гибкий, долгоживущий, легко настраиваемый под заказчика продукт.
Так что заваривайте чай, запасайтесь быстрыми углеводами — вас ждёт увлекательное погружение в мир низкоуровневого программирования. Начнём с теории, затем рассмотрим несколько практических примеров.
https://habr.com/ru/companies/simbirsoft/articles/742486/
#cpp #programming
👉 @cpp_lib
Польза от учебы для взрослых
По статистике - каждый третий хоть раз проходил какие-либо образовательные курсы — от саморазвития до освоения новой профессии.
В процессе обучения мозг создаёт новые нейронные связи, что развивает память и способность к концентрации.
Ещё обучение улучшает здоровье: люди, которые работают и в пожилом возрасте, реже страдают от деменции, болезней Альцгеймера и Паркинсона.
И конечно, обучение — хорошая возможность для карьерного роста. С ним вы повышаете свою стоимость на рынке труда и сами выбираете, куда пойти работать.
Если хотите продолжать учиться, вот три рекомендации!
1. Выберите направление обучения — от айти до курсов по саморазвитию.
2. Купите курс со скидкой до 65%.
3. Получайте необходимые навыки, узнавайте больше и развивайтесь!
Выбрать
#реклама
sravni.ru
О рекламодателе
Коллекция библиотек C++ HTTP, включающая простой в использовании HTTP-сервер.
https://cpp.libhunt.com/proxygen-alternatives
#cpp #programming
👉 @cpp_lib
Ответьте на 1 вопрос и книги ваши на 30 дней бесплатно!
Доступ к Букмейту для вас и трех ваших близких бесплатно на 30 дней. Попробуйте!
Узнать больше
#реклама 16+
mrqz.me
О рекламодателе
C++ и космические технологии
В сегодняшней публикации мы поговорим о новом новшестве в мире C++ - операторе "спейсшип" (spaceship aka three-way comparison), он же тройное сравнение.
Устраивайтесь поудобнее, взлетаем.
Итак, оператор
<=> появился в C++20.
Что же он делает?
Обычный оператор сравнения вроде < берет на вход два значения, тестирует на них корректность заданного бинарного отношения и возвращает булево значение, обозначающее результат проверки.
https://habr.com/ru/articles/766976/
#cpp #programming
👉 @cpp_libЕсть ли работа в IT без программирования?
Самая востребованная онлайн профессия 2024 года - Продакт-менеджер в IT!
Продакт-менеджер отвечает за создание и развитие продукта — мобильного приложения, сайта или услуги.
Освоить профессию можно меньше, чем за 1 год - с нуля, без опыта и образования.
На курсе Продакт-менеджер от Bang Bang Education вы:
- Научитесь создавать и развивать цифровые продукты
- Добавите в портфолио 27 кейсов и прототип IT-продукта
- Получите работу после 6 месяцев обучения
- Будете учиться у экспертов из Google, «Яндекс», «Тинькофф», VK
Бронируй место со скидкой 45% только в октябре!
Подать заявку
#реклама
bangbangeducation.ru
О рекламодателе
Раскрытие возможностей управления памятью в языке C++
До создания компании Educative я работал в Facebook и Microsoft. Основным направлением моей работы там было использование языка C++. Я изучил язык C++ в самом начале своей карьеры программиста. Однако только работая в Microsoft, я по-настоящему понял, что такое управление памятью в языке C++, и все возможности, которые оно дает.
https://dev.to/fahimulhaq/uncovering-the-power-of-memory-management-in-c-3bm9
#cpp #programming
👉 @cpp_lib
Основы предпринимательства. Начни бизнес за 90 дней!
На курсе поймёте, как сформировать УТП и рассчитать необходимые ресурсы для проекта.
Попробовать
#реклама 16+
skillbox.ru
О рекламодателе
Endi mavjud! Telegram Tadqiqoti 2025 — yilning asosiy insaytlari 
