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


Проверка сервера с открытым исходным кодом World of Warcraft CMaNGOS
В этой статье я хотел бы поделиться результатами нашего анализа открытой реализации сервера World of Warcraft CMaNGOS, выполненного статическим анализатором PVS-Studio. Введение C (продолжение) MaNGOS - это активно развивающееся ответвление старого проекта MaNGOS (Massive Network Game Object Server), который был создан для создания альтернативного сервера для игры World of Warcraft. Большинство разработчиков MaNGOS продолжают работать в CMaNGOS. По словам самих разработчиков, их..

II. Продвинутый C ++
STL (стандартная библиотека шаблонов) Цели В этой статье моя цель - показать вам, как эффективно работать с STL C ++. Особенно с векторами , списками и картами , а также опишите, что они собой представляют и для чего их можно использовать. Есть предыдущая статья о продвинутом C ++, которую можно прочитать здесь (пространства имен, исключения, шаблоны) . std :: vector Это шаблон с одним абстрактным типом класса. По сути, это массив, но с переменным размером, поэтому..

Руководство для студентов по указателям C / C ++: Введение
Одна вещь, которую я хотел бы сделать, когда учился программировать, - это сесть и разобраться в указателях. Я думал, что смогу пройти курсы C / C ++ без твердого понимания, но, черт возьми, я ошибался. Вскоре после этого меня засыпали жесткими концепциями, основанными на указателях. Не будь таким, как я. Студентам-программистам сегодня нелегко понять указатели. Мы не тратим столько времени на понимание того, как работает память. И по этой причине я написал подробное руководство,..

Модель памяти Basic - порядок памяти для многопоточного программирования на C ++
Порядок памяти для многопоточного программирования на C ++ Вступление Как многие знают, начиная с C ++ 11, std::atomic<T> был введен как часть стандартной библиотеки. Вероятно, наиболее очевидной частью функциональности является то, что каждый экземпляр типа std::atomic<T> может атомарно обрабатываться из разных потоков, не вызывая гонки за данными. Но также есть еще один аспект std::atomic<T> , который важно знать, чтобы избежать сложных ошибок или улучшить..

Худший код C++ когда-либо — Мой первый матричный класс
Мой первый C++-код, который я написал, был решателем конечных элементов (сокращенно FE) для моей магистерской диссертации. Задача была сложной: реализовать нелинейный алгоритм для расчета максимально возможной нагрузки для пользовательских двумерных стальных конструкций с использованием пластической способности стальных балок. Вы можете использовать этот алгоритм для проектирования гораздо более филигранных стальных конструкций, чем используя только упругую способность. Это очень..

LeetCode удалить N-й узел из конца списка
Постановка задачи Учитывая заголовок связанного списка, удалите n-й узел из конца списка и верните его заголовок. Пример 1: Input: head = [1,2,3,4,5], n = 2 Output: [1,2,3,5] Пример 2: Input: head = [1], n = 1 Output: [] Пример 3: Input: head = [1,2], n = 1 Output: [1] Ограничения: - The number of nodes in the list is sz. - 1 <= sz <= 30 - 0 <= Node.val <= 100 - 1 <= n <= sz Объяснение Одиночный указатель Один из подходов к..

Изучение C ++: переменная область видимости
Область видимости переменной относится к способности переменной быть «видимой» в программе. Переменная видна, если в определенном месте программы программист имеет доступ к значению этой переменной. В программе на C ++ существуют уровни области видимости, причем уровень области видимости определяет, насколько широко переменная может быть видна в программе. В этой статье я собираюсь обсудить различные уровни области видимости переменных и почему они важны. Уровни объема Вот три..