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


Ежедневный бит(е) C++ | std::type_index, boost::type_index
Ежедневный бит (e) C++ # 201, Сопоставление std:: type_info с именами типов, удобочитаемыми для человека, с использованием C++ 11 std:: type_index и boost:: type_index. Объект std::type_info , возвращаемый оператором typeid, не предоставляет доступ к удобочитаемому имени типа. Мы можем смягчить эту проблему вручную, полагаясь на C++11 std::type_index и вручную отслеживая сопоставление между std::type_info и любой необходимой информацией. #include <unordered_map> #include..

Ежедневный бит(е) C++ | std::views::шаг
Ежедневный бит (е) C++ # 82, представление C++ 23 «каждый n-й элемент»: std::views::stride C++23 std::views::stride — это представление, которое содержит каждый n-й элемент исходного представления. Это полезно, когда мы хотим представить обход по порядку столбцов с помощью представлений. #include <iostream> #include <ranges> #include <vector> #include <string_view> using namespace std::literals; auto text = "Hello World!"sv; // Iterate over..

Утечка памяти в C++
В вашей программе есть утечка памяти? ERROR: LeakSanitizer: detected memory leaks О нет, утечки памяти? Как это произошло? Утечки памяти происходят, когда происходит выделение памяти в куче, но не происходит освобождение памяти после использования. Таким образом, это уменьшит доступную память. Простой пример Чтобы проиллюстрировать, как это может произойти, мы используем простой пример с ключевым словом «dangerous» new . Чтобы запустить и наблюдать за утечкой памяти,..

Эта приключенческая игра 0: Введение
Эта приключенческая игра 0: Введение Определяем структуру, которую мы будем использовать для нашей игры. Это часть продолжающейся серии, в которой мы пишем полноценную приключенческую 2D-игру на C++ и SFML. Начав с основ (игровые циклы, рендеринг и т. д.), мы быстро перейдем к более сложным темам, таким как обработка коллизий, Quadtrees, анимация, трассировка лучей и создание объектов на основе компонентов. В процессе мы рассмотрим все, что вам нужно для создания 2D-игр. Вы можете..

Введение в оператор космического корабля C++20
В C++20 появился оператор трехстороннего сравнения, также известный как «оператор космического корабля» из-за его внешнего вида: <=> . Цель — упростить процесс сравнения объектов. Основы Ниже приведен простой пример использования этого нового оператора космического корабля: #include <compare> int main() { int a = 1; int b = 2; auto result = a <=> b; if (result < 0) { std::cout << "a is less than b" << std::endl; } else..

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

Совет C++: всегда объявляйте виртуальный деструктор тогда и только тогда, когда у вас также есть хотя бы один виртуальный…
Я прочитал книгу «Эффективный C++» Скотта Мейерса некоторое время назад, когда начал разработку движка. Я многому научился из этой книги. Как и все в жизни, если вы не учите тому, чему научились, вы это забудете. Поэтому я решаю перечитать книгу «Эффективный C++» и поделиться тем, что я узнал. Давайте начнем: Совет: всегда объявляйте виртуальный деструктор тогда и только тогда, когда у вас также есть хотя бы один виртуальный метод. Если у вас есть виртуальные функции в базовом..