Публикации по теме '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 ++ существуют уровни области видимости, причем уровень области видимости определяет, насколько широко переменная может быть видна в программе. В этой статье я собираюсь обсудить различные уровни области видимости переменных и почему они важны.
Уровни объема
Вот три..