Короткие заметки о языке C и C++: тонкости синтаксиса, поведение компилятора, подводные камни и любопытные детали стандарта. Формат «одна заметка — один вопрос», удобно читать и находить через поиск.
Диапазон хранения значений
Для получения максимального и минимального значения мы запросим их через std::numeric_limits — которая обеспечивает стандартизированный способ запроса различных свойств арифметических типов. К таким данным можно отнести: Получаем следующий…
Шаблоны классов в C++: параметризация типов и практический пример
Шаблон класса — это механизм C++, позволяющий создавать параметризованные классы. Параметром шаблона может выступать любой тип или значение допустимого типа. Важно понимать: сам шаблон не является ни типом, ни…
Препроцессорные директивы C/C++: #define, #include, #if, #pragma
Введение Прежде чем компилятор увидит ваш код, его обрабатывает препроцессор. Он подставляет содержимое заголовков, раскрывает макросы и убирает лишние участки кода. Управляют этим препроцессорные директивы. Это команды, которые…
Виртуальный деструктор в C++: зачем нужен и как работает
Введение Виртуальный деструктор — одна из тех тем C++, которые кажутся мелочью, пока не приводят к утечке памяти или странному поведению программы. Он нужен, когда объект производного класса…
Шаблоны в C++: основы и примеры
Что такое шаблон Шаблон (template) — это механизм языка C++, позволяющий писать обобщённый код, который работает с разными типами данных без дублирования. Компилятор сам подставляет нужный тип в момент вызова,…
Преобразование типов
Операторы позволяют преобразовывать типы данных от одних к другим. Есть пять типов операторов casts: c-style cast static_cast const_cast dynamic_cast reinterpret_cast Рассмотрим каждый из преобразований типов поподробней. Начнем с…
Удаление нескольких элементов из QList при помощи QMutableListIterator
Назначение В QList есть и итераторы в стиле Java, и итераторы в стиле STL: Характеристика Java-стиль STL-стиль Уровень Высокоуровневые Низкоуровневые Простота Проще в использовании Требуют больше внимания Эффективность Немного менее эффективны Более…