Библиотека C/C++ разработчика
6.81K subscribers
655 photos
690 videos
8 files
940 links
Полезные материалы по всему, что может быть полезно плюсовику/сишнику. По всем вопросам @evgenycarter
Download Telegram
Муравьиный алгоритм | Задача коммивояжёра

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

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

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

#cpp #programming

👉 @cpp_lib
👍52
Распространённые паттерны опечаток при программировании

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

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

С целью тестирования и продвижения статического анализатора кода 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
👍5
Media is too big
VIEW IN TELEGRAM
C++ Процессы и Потоки Windows

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

источник

#cpp #programming

👉 @cpp_lib
👍4
Media is too big
VIEW IN TELEGRAM
C++ Что такое указатели и зачем они нужны

источник

#cpp #programming

👉 @cpp_lib
🔥6👍2
Передача параметров в потоке в зависимости от диапазонов

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

#cpp #programming

👉 @cpp_lib
👍2
This media is not supported in your browser
VIEW IN TELEGRAM
Когда мужчина предлагает $екс

#юмор #cpp #programming

👉 @cpp_lib
😁10💩3🤡3👍21🔥1