cpp_lib | Unsorted

Telegram-канал cpp_lib - Библиотека C/C++ разработчика

2630

Полезные материалы по всему, что может быть полезно плюсовику/сишнику.

Subscribe to a channel

Библиотека C/C++ разработчика

Пять продвинутых техник инициализации в C++: От reserve() до piecewise_construct

От операций с динамическими контейнерами до констант времени компиляции — C++ предлагает много интересных техник (как в этом знаменитом меме :)). В этой статье мы рассмотрим несколько продвинутых методов инициализации: от reserve() и emplace_back для контейнеров, до piecewise_construct и forward_as_tuple для кортежей. Благодаря этим техникам мы можем уменьшить количество временных объектов и более эффективно создавать переменные.

https://www.cppstories.com/2023/five-adv-init-techniques-cpp/

#cpp #programming

👉 @cpp_lib

Читать полностью…

Библиотека C/C++ разработчика

⁉️Хотите разобраться в основах построения PKI (инфраструктуры открытых ключей), узнать о распространённых протоколах аутентификации и VPN, понять принципы работы электронной подписи, а также узнать, как криптография обеспечивает защиту платежных и банковских систем в крупных компаниях?

👉Приходите прокачиваться на бесплатный вебинар онлайн-курса «Криптографическая защита информации» — «Криптографическая защита в крупных компаниях»: регистрация

На уроке мы расскажем об основных аспектах криптографической защиты в сфере крупных компаний и покажем, как применение криптографии обеспечивает безопасность данных и информации на передовых фронтах бизнеса.

Вебинар будет особенно интересен специалистам по информационной безопасности, руководителям отделов информационной безопасности, системным администраторам и IT-специалистам, которые интересуются криптографией и хотят обеспечить надежную защиту данных и систем в своей компании.

🔥После вебинара вы сможете продолжить обучение на курсе по спеццене, в том числе, в рассрочку.

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru

Читать полностью…

Библиотека C/C++ разработчика

Генерация пещер при помощи клеточного автомата

Клеточный автомат — дискретная модель, изучаемая в математике, теории вычислимости, физике, теоретической биологии и микромеханике. Основой является пространство из прилегающих друг к другу клеток (ячеек), образующих решётку. Каждая клетка может находиться в одном из конечного множества состояний (например, 1 и 0).

https://habr.com/ru/articles/741564/

#cpp #programming

👉 @cpp_lib

Читать полностью…

Библиотека C/C++ разработчика

Learn C++

#11 - While, Do While Loops & Break/Continue
#12 - Switch Statement
#13 - Strings
#14 - References (&)
#15 - Pointers (*)
#16 - Tuples
#17 - Maps
#18 - Vectors
#19 - Sets
#20 - Functions

источник

#cpp #programming

👉 @cpp_lib

Читать полностью…

Библиотека C/C++ разработчика

Learn C++

#1 - How to Compile and Run C++ Code
#2 - C++ Program Structure
#3 - Data Types and Variables
#4 - User Input and Constants
#5 - Arithmetic Operators
#6 - Comparison Operators
#7 - Logical Operators (And, Or and Not)
#8 - If, Else & Else If
#9 - Arrays
#10 - For Loops

источник

#cpp #programming

👉 @cpp_lib

Читать полностью…

Библиотека C/C++ разработчика

🔥Приглашаем на открытый урок по C++

Тема: С++ и СУБД
Дата: 19 сентября, 20:00 по Москве.
Урок пройдёт в рамках онлайн-курса "С++ Developer"

🔹На занятии:
- выясним, в каком случае стоит выбирать какой вид СУБД;
- на практике рассмотрим, как подключиться и использовать в С++ три самых популярных: MongoDB, Redis и PostgreSQL;
- получим понимание основных принципов различия типов СУБД;
- разберёмся, как подключить СУБД к своей программе на С++ для того чтобы сохранить и запросить данные.

🔹Урок подойдёт:
- начинающим программистам C++,
- программистам на других технологиях, которым любопытно, как в С++ работают с СУБД.

Дата: 19 сентября в 20:00 мск

РЕГИСТРАЦИЯ НА УРОК

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru

Читать полностью…

Библиотека C/C++ разработчика

C++ Процессы и Потоки Windows

Научимся выводить с помощью C++ список активных процессов операционной системы Windows и их дочерних потоков.
Диспетчер задач Windows позволяет просмотреть список текущих процессов. Однако потоки данных процессов он не показывает.

источник

#cpp #programming

👉 @cpp_lib

Читать полностью…

Библиотека C/C++ разработчика

Практический открытый урок для инженеров данных от OTUS

Встречаемся 19 сентября в 20:00 мск на вебинаре «Тревожный чемоданчик инженера данных на все случаи жизни» в рамках курса «Data Warehouse Analyst» от OTUS.

Кому подходит этот урок:
- Начинающим и продолжающим специалистам в области аналитики данных, Data Engineering
- Тем, кого пугают планы запросов или радуют циклические вставки пары строк в БД
- Желающим узнать best practices и как же на самом деле расшифровывается «KISS»

Также это отличная возможность совершенно бесплатно протестировать формат обучения и задать преподавателю любые вопросы в режиме реального времени!

Регистрируйтесь и ставьте событие в календарь, чтобы ничего не пропустить.

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru

Читать полностью…

Библиотека C/C++ разработчика

Муравьиный алгоритм | Задача коммивояжёра

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

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

https://habr.com/ru/companies/timeweb/articles/754462/

#cpp #programming

👉 @cpp_lib

Читать полностью…

Библиотека C/C++ разработчика

Как быстро выучить С++? 6 эффективных способов выучить C++ с нуля

00:25 «Язык» C/C++
01:12 Зачем изучать C++?
02:25 #1. Чистый Си
03:50 #2. Высокоуровневые конструкции
04:51 #3. Практика
06:16 #4. Техническое интервью
06:49 #5. Отладка и дополнение Open Source без гемора со сборкой
09:42 #6. Ресурсы для профессионалов
10:13 Итог

источник

#cpp #programming

👉 @cpp_lib

Читать полностью…

Библиотека C/C++ разработчика

Как я вошёл в клуб бага 323

Это история о баге, который бы заставил вас рвать на себе волосы. Из-за такого бага вы можете подумать: «Но это невозможно, должно быть, компилятор сломался, других вариантов нет!»

А баг компилятора — это серьёзно: за двенадцать лет программирования на C++ я обнаружил (и написал отчёт) всего... об одном. И могу сказать, что перед отправкой отчёта о баге GCC я максимально тщательно протестировал и проверил его, чтобы не выглядеть идиотом.

Впрочем, ладно, вот моя история.

Rus https://habr.com/ru/articles/754730/

Eng https://studios.ptilouk.net/superfluous-returnz/blog/2023-08-11_bug323.html

#cpp #programming

👉 @cpp_lib

Читать полностью…

Библиотека C/C++ разработчика

C++ интервью с инженером Google

Посмотрите, как кто-то пытается решить задачу Closest Coin на C++ с помощью инженера Google. Это пробное интервью — смогут ли они найти решение?

источник

#cpp #programming

👉 @cpp_lib

Читать полностью…

Библиотека C/C++ разработчика

Неопределённое поведение в C/C++ и приёмы против лома

Некоторое время назад в Интернете ходила статья о неопределённом поведении, просто бесившая коренную аудиторию Rust. Завсегдатаи С и C++ в ответ только бурчали, что кто-то просто не понимает Всех Тонкостей и Нюансов Их Светлейшего Языка. Как обычно, пришло время и мне постараться изо всех сил и вставить мои пять копеек в эту застарелую дискуссию.

Готовьтесь поговорить об Основной Проблеме языков C и C++, а также о Принципе Лома.

Rus https://habr.com/ru/articles/756000/

Eng https://thephd.dev/c-undefined-behavior-and-the-sledgehammer-guideline

#cpp #programming

👉 @cpp_lib

Читать полностью…

Библиотека C/C++ разработчика

Внутри STL: Строка

Можно подумать, что строка std::string (и все ее друзья из семейства std::basic_string) - это, по сути, вектор символов. Однако строки устроены иначе из-за специфических оптимизаций, допустимых для строк, но не для векторов.

https://devblogs.microsoft.com/oldnewthing/20230803-00/?p=108532

#cpp #programming

👉 @cpp_lib

Читать полностью…

Библиотека C/C++ разработчика

Что Должно Быть в Каждом FirmWare Pепозитории

В этом тексте я предлагаю порассуждать, что же должно быть в нормальном взрослом firmware репозитории (репе/общаке) безотносительно к конкретному проекту. То есть самые универсальные и переносимые программные компоненты (кирпичики/SubSystems), которые могут пригодиться в практически любой сборке.

#cpp #programming

👉 @cpp_lib

Читать полностью…

Библиотека C/C++ разработчика

Почему я программирую на С/C++ (язык для профессионалов!)

В этом замечательном видео мы поговорим о том как появился на свет такой язык программирования как C++, почему его вообще решил создать Бьерн Страуструп, и.т.д. Кто не знает то,
C++ это язык программирования высокого уровня, на нём можно писать как простые, так и очень сложные программы. Этот язык известен своею очень и очень хорошей скоростью компилируемых им программ. На нём делают игры и высокопроизводительные программы.
А также используют в системах управления в : адронных коллайдерах, самолётах, ракетах, и.т.д!

Но как говорится у всего есть свои плюсы и минусы, и С++ в этом случае не является исключением. И в этом видеоролике я вам расскажу в чём плюсы и минусы это языка программирования!
А так же я поведаю свою историю, как и почему я начал программировать на C++. Какой путь мне пришлось пройти!

Какие подводные камни были на пути изучения C++! Типа довольно сложного синтаксис и контроля над памятью который почти полностью предоставлен самому разработчику!

источник

#cpp #programming

👉 @cpp_lib

Читать полностью…

Библиотека C/C++ разработчика

Язык С++ (для новичков)

Урок 01 - Первая программа, вывод на экран, пространство имен.
Урок 02 - Классы, первое знакомство. ООП. Инкапсуляция.
Урок 03 - Конструктор и деструктор.
Урок 04 - Пишем игру змейка для двух игроков.
Урок 05 - Операторы New и Delete
Урок 06 - ДЗ уроков 2, 3 и 5. Делаем зарядку.
Урок 07 - Простейший ИИ для игры змейка.
Урок 08 - Ввод с клавиатуры. Поток cin.
Урок 09 - Ссылки
Урок 10 - Перегрузка функций, конструктор копий, параметры по умолчанию

Всего доступно 27 уроков на youtube

#cpp #programming

👉 @cpp_lib

Читать полностью…

Библиотека C/C++ разработчика

В науке управления фокус внимания чаще всего указывает на то, как команде работать «больше». Как мотивировать сотрудников, какие процессы и метрики применять. Это чрезвычайно важный навык руководителя.

Действительно, руководителю необходимо получать результат, используя минимум ресурсов. И здесь есть небольшой подвох, причинно-следственная нестыковка. Разве же работать «больше» и получать результат, нужный нашему заказчику, это одно и то же?

👉На бесплатном вебинаре онлайн-курса «Team Lead разработки» — «Как тимлиду делать меньше, чтобы получать больше» обсудим вопрос: всегда ли тяжелый труд означает замечательный результат?

Обсудим часто остающийся в тени ресурс повышения результативности путем минимизации выполняемой работы. А также научимся применять этот ресурс.

Вебинар будет полезен IT-специалистам, принимающим решения всех уровней и влияющим на загрузку команд — тимлидам, руководителям проектов, архитекторам, аналитикам.

После вебинара вы увидите и научитесь использовать секретный ресурс увеличения результативности через минимизацию затрат. А что, так можно было?!

🔥Также вы сможете продолжить обучение на курсе по спеццене, в том числе, в рассрочку.

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru

Читать полностью…

Библиотека C/C++ разработчика

Когда мужчина предлагает $екс

#юмор #cpp #programming

👉 @cpp_lib

Читать полностью…

Библиотека C/C++ разработчика

Передача параметров в потоке в зависимости от диапазонов

https://tristanbrindle.com/posts/parameter-passing-in-flux-vs-ranges

#cpp #programming

👉 @cpp_lib

Читать полностью…

Библиотека C/C++ разработчика

C++ Что такое указатели и зачем они нужны

источник

#cpp #programming

👉 @cpp_lib

Читать полностью…

Библиотека C/C++ разработчика

Распространённые паттерны опечаток при программировании

Есть бесконечное количество способов ошибиться при написании кода. Однако иногда можно заметить явные интересные закономерности, как и где ошибаются программисты. Поговорим о коде, который "притягивает" опечатки.

На чём основаны наблюдения

С целью тестирования и продвижения статического анализатора кода PVS-Studio мы проверяем различные открытые проекты. Найдя ошибки, мы сообщаем о них авторам проектов, коллекционируем их и пишем статьи про наиболее интересные случаи.

Рассматривая все эти ошибки, я постепенно замечаю различные повторяющиеся паттерны опечаток. За редким исключением они не зависят от языка программирования. По крайней мере, они одновременно свойственны коду, написанному на C, C++, C#, Java. В этой статье я опишу 7 паттернов, которые заметил к настоящему моменту:

Эффект последней строки.
Злополучная функция memset.
Неверные функции сравнения.
Неверные функции копирования.
Ошибки работы с датами и временем.
Несчастливые числа: 0, 1, 2.
Ошибка на единицу (off-by-one error).

https://habr.com/ru/companies/pvs-studio/articles/756872/

#cpp #programming

👉 @cpp_lib

Читать полностью…

Библиотека C/C++ разработчика

Назад к основам: контейнеры С++

источник

#cpp #programming

👉 @cpp_lib

Читать полностью…

Библиотека C/C++ разработчика

Язык Си++, Rust не победит. Статический анализ и компиляторы

00:00 Вступление
00:59 Приветствие Филиппа
01:46 Как нашел первую работу Си++ программистом
02:27 Про учебу в ВУЗе
03:02 Самообучение кроме ВУЗа
04:27 Что готовил к первому собеседованию на Си++ разработчика
06:18 Тула, как лайфхак для джунов
06:57 Сколько времени нужно, чтобы воспитать джуна Си++
08:50 Си++ как первый язык, имеет смысл?
11:11 Какие демо проекты можно сделать на Си++
13:35 Написать операционную систему или идти от того, что нравится
14:56 Пробовал писать свой язык программирования?
15:21 Неочевидности в языках
17:32 Про Yacc и Bison / парсинг языков и грамматика языка
19:18 Имеет ли смысл идти в Си++ сейчас?
23:22 500 мегабайт исходников и почему мало браузеров
24:20 Отличие Си и Си++. Использование в микроконтроллерах
27:06 Тенденции роста популярности Си++
30:16 Почему Си и Си++ быстрее других языков
31:22 Ошибки в компиляторах
31:43 Стандарты, засахаривание Си++
34:56 Может лучше добавить статический анализ?
38:05 Бесплатная лицензия для opensource
38:30 Что такое статический анализ
40:32 Подарок для зрителей
40:46 Этапы компиляции кода
44:18 Как придумывают правила
47:32 Общение с программистами на поддержке
50:28 Rust убийца Си++
56:53 Какой язык взять вторым к Си++?
59:26 Статический анализ JavaScript
01:06:00 Как в этом разобраться
01:14:20 Где искать Филиппа
01:15:35 АНОНС ПРОДОЛЖЕНИЯ Байки про Си++

источник

#cpp #programming

👉 @cpp_lib

Читать полностью…

Библиотека C/C++ разработчика

Быстрый двоичный поиск без ветвления

Мои читатели — занятые люди, поэтому сразу перейду к делу. Вот она, самая быстрая обобщённая (и простая) реализация двоичного поиска на C++

Rus https://habr.com/ru/companies/ruvds/articles/756422/

Eng https://mhdm.dev/posts/sb_lower_bound/

#cpp #programming

👉 @cpp_lib

Читать полностью…

Библиотека C/C++ разработчика

Рассмотрим простенькие задачки по C++, где могут пригодиться побитовые логические операции.

источник

#cpp #programming

👉 @cpp_lib

Читать полностью…

Библиотека C/C++ разработчика

Обучения GoLang-разработке с постоплатой и гарантированное трудоустройство. Учись сейчас – плати, когда устроишься на работу. Не захотел работать в IT – ничего не должен! 💸

❗Старт нового потока по GoLang от школы IT Mentor уже в сентябре. Срок обучения 6-8 месяцев.
Ворвись в сферу высокооплачиваемого IT с поддержкой опытного ментора в течение 18 месяцев.

👉 Переходи по ссылке и записывайся на курс https://www.it-mentor.tech/golang?utm_source=tg&utm_medium=cpp_lib&utm_campaign=2023-08-22

Выпускники школы IT-mentor зарабатывают от 150 тыс.руб.

Почему тебе точно нужно в школу IT-mentor?
✔ Только актуальная инфа и востребованные стек технологий: Основы Go, Go Runtime, Concurrency, Frameworks, Tools, Testing, Базы данных, Оркестрация, Брокеры сообщений, и др.
✔ Индивидуальная программа, заточенная под твой уровень знаний
✔ Контроль знаний с обратной связью менторов
✔ Работа на реальном проекте – при выпуске готовый кейс
✔ Поддержка опытных менторов позволит подготовиться к собеседованиям и составить твое CVL, проведение тестовых собеседований - быть уверенным в результате.
✔ Закрытое комьюнити с коллегами и чаты помогут оставаться в тренде.

Стань частью IT-сообщества!

А если хорошо знаешь английский, вообще nice🔥! Для тебя есть опция - трудоустройство в иностранную компанию и возможность релокации зарубеж.

👉 Переходи по ссылке и записывайся на курс https://www.it-mentor.tech/golang?utm_source=tg&utm_medium=cpp_lib&utm_campaign=2023-08-22
Давай жми быстрее, мест осталось мало!

Читать полностью…

Библиотека C/C++ разработчика

10 лучших практик безопасного программирования на С++

https://www.incredibuild.com/blog/top-10-secure-c-coding-practices

#cpp #programming

👉 @cpp_lib

Читать полностью…

Библиотека C/C++ разработчика

✅Приглашаем на открытый урок по С++ от OTUS

Тема:
Почему в C++ 13 способов передать параметр в функцию?
Дата: 22 августа, 20:00
Преподаватель: Павел Филонов, Ex-Data Science Manager в Kaspersky

Урок пройдёт в рамках курса «Специализация С++ Developer» от OTUS

🔹Что будет на занятии:

- синтаксис передачи параметров в функции;
- константы, указатели, ссылки, умные указатели, lvalue, rvalue, forward reference;
- практические советы по объявлению функций, основанные на C++ Core Guidelines.

🔸Чему вы научитесь:

- узнаете про разнообразие способов объявления параметров функции;
- сможете обоснованно выбирать, какой способ использовать в разных ситуациях.

Доступ к уроку бесплатный. После него вы сможете продолжить обучение на курсе, который доступен в рассрочку!

♦️Регистрация: https://otus.pw/3Ph6/

Читать полностью…

Библиотека C/C++ разработчика

Самый быстрый и безопасный PNG декодер в мире

TL;DR: декодер изображений PNG из стандартной библиотеки языка программирования Wuffs работает в 1.22–2.75 раза быстрее, чем libpng (широко используемая реализация PNG декодера на C с открытым исходным кодом), C-библиотеки libspng, lodepng и stb_image, а также самые популярные библиотеки для работы с PNG на Go и Rust.

Декодирование PNG с помощью Wuffs обсуждалось на Hacker News №1, Hacker News №2, /r/programming, /r/rust и lobste.rs.

https://habr.com/ru/articles/751462/

#cpp #programming

👉 @cpp_lib

Читать полностью…
Subscribe to a channel