Публикации по теме 'cpp'


О типах указателей
Взгляд на справочную семантику В этой статье я постараюсь представить концепцию и мотивацию использования указателей. Есть группы разработчиков C++, которые используют интеллектуальные указатели только из соображений безопасности, другие используют необработанные указатели только для повышения производительности, а некоторые используют и то, и другое, когда они обеспечивают максимальную выгоду. В этой статье я стремлюсь осветить варианты использования указателей, чтобы вы могли..

Реализация сортировки слиянием C++
Сортировка слиянием использует подход разделяй и властвуй . Он делит массив элементов на два подмассива по n /2 элементов в каждом. Затем он сортирует два подмассива рекурсивно, используя сортировку слиянием. Затем эти подмассивы объединяются для создания единого отсортированного массива. Если размер массива четный, то размеры подмассивов равны, а если нечетный, то в первом массиве на один элемент больше, чем во втором массиве. Деление массива останавливается, когда..

Первый шаг к знакомству с C++. Коллекции: массив и вектор.
Да, знакомство с коллекциями необходимо каждому программисту. Вроде бы все просто, но когда я разговаривал со своими коллегами, я не видел, чтобы они разбирались в этой теме. Большинство разработчиков сосредотачиваются на выполнении задачи и склонны пренебрегать свойствами кода. Что ж, мир разработки программного обеспечения предлагает более трех основных контейнеров: динамические массивы, списки и векторы. Продвинутые разработчики знают карты и наборы. Это полезный список коллекций,..

Не усложняйте (краткий разглагольствования о стиле кодирования)
Что бы вы предпочли? Умный код, который работает, но его трудно понять, или хорошо написанный код с комментариями, который легко понять, но не работает? Это будет короткий и простой пост. Сколько времени вы тратите на расширение/чтение чужого кода? Уважаемый «умный» программист, знайте, я когда-то был таким, как вы. Я не стал менее умным, я просто понял, что сегодня нет смысла писать «Умный» код, который запутает меня, когда я буду смотреть на него через три часа. Серьезно, в жизни..

Проверка коллекции библиотек C++ только для заголовков (awesome-hpp)
Каким-то образом нам довелось проверить большинство библиотек, составляющих коллекцию под названием «Awesome hpp». Это небольшие заголовочные проекты на C++. Надеемся, информация о найденных ошибках поможет сделать библиотеки лучше. Мы также будем рады видеть, что разработчики используют PVS-Studio на регулярной основе благодаря предоставляемой нами опции бесплатной лицензии. Далее следует обзор ошибок, обнаруженных в различных библиотеках из тщательно отобранного списка..

LeetCode - объединить два отсортированных массива
Постановка задачи Вам даны два целых массива nums1 и nums2 , отсортированные в неубывающем порядке, и два целых числа m и n , представляющий количество элементов в nums1 и nums2 соответственно. Объедините nums1 и nums2 в один массив, отсортированный в неубывающем порядке . Окончательный отсортированный массив не должен возвращаться функцией, а должен храниться внутри массива nums1 . Для этого nums1 имеет длину m + n , где первые m элементы обозначают..

Принцип открытости-закрытости | ТВЕРДЫЙ как скала
Это вторая часть из пяти частей, посвященных принципу проектирования SOLID as Rock. Принципы проектирования SOLID, объединенные вместе, позволяют программисту создавать программное обеспечение, которое легко поддерживать, повторно использовать и расширять. O pen- C потерянный P принцип (OCP) - второй принцип в этой серии, который я буду обсуждать здесь на минималистичном примере в Modern C ++ Вместе с его преимуществами и общим руководством. /! \: Первоначально опубликовано..