Публикации по теме '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++» и поделиться тем, что я узнал.
Давайте начнем:
Совет: всегда объявляйте виртуальный деструктор тогда и только тогда, когда у вас также есть хотя бы один виртуальный метод.
Если у вас есть виртуальные функции в базовом..