Блог C++ | OTUS
Посты
Оптимизация C++: строки или перечислимый тип?

Иногда в качестве входных данных разрешается применение фиксированного набора строк. Далее они хранятся и используются. Однако эти строки желательно конвертировать в перечислимый тип — это будет наилучшим вариантом. Почему? Давайте рассмотрим преимущества.

Зачем нужны указатели в C++?

Как правило, многие программисты понимают разницу между объектами и указателями на объекты. Тем не менее не всегда ясно, в пользу какого из вышеперечисленных способов обращения делать выбор. Попробуем ответить на этот вопрос.

Инициализация статических переменных в С++. Неоднозначности и возможные решения

otus_Posts_25may_VK_1000x700_2-20219-86ca43.jpg

Занимаясь разработкой на языке С++, мы рано или поздно приходим к вопросу об инициализации статических переменных. Более сложный случай, когда проект большой и над ним трудится много людей. Статические переменные, как правило, объявляются в глобальной области имён, то есть используются многими участниками проекта, что часто вызывает споры и раздоры.

Браузерный интерфейс GDB для C++

Cplus_Deep_10.3-5020-5d5c5a.png

Предлагаем вашему вниманию краткий обзор инструмента gdbgui. Это современный браузерный GDB (GNU-отладчик), предназначенный для языков программирования C, C++, Rust и Golang. С его помощью вы сможете просматривать трассировку стека, добавлять контрольные точки и многое другое.

Умный указатель в C++

Cplus_Deep_13.1-5020-d3bffc.png

Умный указатель в C++ (его ещё называют интеллектуальным) обеспечивает безопасность за счёт автоматического управления памятью. Такое решение позволит избежать ряда проблем при написании кода (отказов в выделении памяти, «утечек» памяти и пр.)

Фреймворки для юнит-тестов C++

Cplus_Deep_27.8-5020-6b82cc.png

Для написания юнит-тестов и моков вам понадобятся хорошие фреймворки. К счастью, сегодня существует много разных программ с широкой функциональностью. Рассмотрим некоторые из них.

Списки в C++. Односвязный список

Cplus_deep_22.8-5020-3781cf.png

Стандартная библиотека C++ включает достаточно много структур данных. Среди них есть списки, очереди, стеки, множества и т. д. Но если вы хотите эффективно их использовать, необходимо понимать особенности их работы. В этой статье поговорим о базовой структуре в С++ — односвязном списке.

Случайное число. Генератор на C++

Cplus_Deep_22.11-5020-e42524.png

Возможность генерации случайных чисел необходима для работы некоторых программ, например, игр или приложений научно-статистического моделирования. В игре без рандомных событий монстры будут атаковать вас одинаково, вы будете постоянно находить одни и те же артефакты и т. д.