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


Пул потоков для ансамблевого обучения
Как использовать параллелизм С++ в задаче машинного обучения? Что такое пул потоков? Пул потоков — это шаблон проектирования программного обеспечения, который управляет и повторно использует пул рабочих потоков для выполнения параллельных задач. Вместо создания и уничтожения потоков для каждой задачи пул потоков поддерживает пул предварительно инициализированных потоков, что позволяет более эффективно управлять потоками и сокращать накладные расходы на создание потоков. [1] Как..

Разговор с Джейсоном Тернером: история CppCast и почему его закрыли
В этой статье мы поговорим с Джейсоном Тернером, одним из основателей CppCast. CppCast — это первый подкаст для разработчиков C++, созданный разработчиками C++. С 2015 по 2022 год CppCast еженедельно общался с докладчиками на конференциях по C++, авторами библиотек, писателями, членами комитета ISO и другими. Продолжайте читать, чтобы узнать о предыстории CppCast. Вы найдете один из самых развлекательных каналов на YouTube о программировании и несколько советов для разработчиков C++...

Ежедневные кусочки C++ | Рассчитать индекс Хирша
Ежедневный бит(е) C++ № 247, Распространенная задача на собеседовании: вычислить индекс Хирша. Сегодня мы рассмотрим распространенную задачу на собеседовании по C++: вычислить индекс Хирша. Учитывая информацию о цитировании научных статей в виде std::vector‹int> , где каждый элемент представляет количество цитирований статьи, рассчитайте индекс Хирша: https://en.wikipedia.org /wiki/H-индекс . Ваше решение должно работать за O(n) . Например, для входных данных {43, 7, 6,..

Изучение микрооптимизаций на примере кода Tizen
Говоря о диагностических возможностях PVS-Studio в наших статьях, мы обычно опускаем его рекомендации по использованию микрооптимизаций в коде C и C++. Это, конечно, не так важно, как диагностика, выявляющая ошибки, но и они представляют собой интересную тему для обсуждения. Микрооптимизации Данная статья продолжает серию статей об анализе исходного кода операционной системы Tizen. Размер проекта Tizen (включая сторонние библиотеки) составляет 72 500 000 строк кода на C и C++, что..

Ежедневный бит(е) C++ | Одноэлементный шаблон
Daily bit(e) of C++ #138, Самый простой одноэлементный паттерн, также известный как синглтон Скотта Мейера. По возможности следует избегать синглтонов, поскольку они создают препятствие для тестирования. Однако иногда глобальное состояние может быть наименее плохим выбором. Если вам нужен синглтон, используйте простую функцию получения, которая возвращает ссылку на локальную статическую переменную. Статические переменные блочной области инициализируются потокобезопасным и..

Советы по программированию для реализации решателя нелинейной оптимизации (Часть II: продолжение SD)
Введение В моем предыдущем блоге я рассказывал о простой реализации модуля символьной дифференциации (SD), однако эта реализация была неоптимальной по своей природе, поскольку основная цель статьи заключалась в том, чтобы объяснить SD и прояснить несколько различий и нюансов. между SD и алгоритмической дифференцировкой (AD). Поэтому в этом коротком блоге я хотел бы обсудить метод улучшения вычислительной производительности SD-модуля. В запрограммированной среде, в основном, если..

Все о контейнерах последовательностей: вектор
вектор — это тип контейнера, в котором элементы хранятся линейно слева направо. Это что-то вроде массива. Разница между вектором и массивом заключается в том, что вектор может динамически изменять свой размер во время выполнения. Это поможет иметь эффективную память. Вы можете использовать вектор, включив файл заголовка вектора, написав: #include ‹vector› . вы можете объявить вектор, сказав: вектор ‹тип данных› имя вектора; Тип векторных данных может быть любым, например,..