Комментарии 9
Отличная коллекция для НГ каникул!
Спасибо :)
Рекомендую не обходить стороной YouTube. Там всегда найдется что-то интересное. Например, доклады с конференций, подкасты, обучающие видео. Мой личный список интересных каналов:
Еще из мыслей – раз статический и динамический упомянули, то не забываем и про unit-тестирование :) Библиотек для этого – вагон и маленькая тележка, но лично приходилось пользоваться этим:
Хотел порекомендовать для обучения библиотеку задачек по программированию.
Небольшой набор видео о том как писать игры на с++
Могу порекомендовать этот репозиторий:
https://github.com/JoshuaJakowlew/cppfaq
Содержит довольно много информации и по мере возможностей обновляется
От меня подписка и статью в закладки. Спасибо. И всех с Наступающим ???
Рекомендую прослушать курс от Константина Владимировна, лучше с бакалавра начинать а потом магистра https://youtube.com/playlist?list=PL3BR09unfgcgf7R88ZQRQqWOdLy4pRW2h
В качестве "боевой" библиотеки для изучения, рекомендую pocoproject.org, хорошая структура кода для ознакомления с ооп и не только.
По поводу статьи
https://pvs-studio.ru/ru/blog/posts/cpp/0391
и совета 35 из неё
Добавляя в enum новую константу, не забываем поправить операторы switch
хочу добавить практический совет, который очень мне помогал. Можно у enum определять последнее значение LAST:
enum InputFormat
{
InputFormatScalar,
InputFormatSpectralReflectance,
InputFormatSpectralIlluminance,
InputFormatSpectralReflectanceWithAlpha,
InputFormatSpectralIlluminanceWithAlpha,
InputFormatEntity,
LAST_InputFormat = InputFormatEntity
};
А затем около каждого switch (да и других операций, которые зависят от полного набора enum) приучить себя писать:
static_assert( LAST_InputFormat == 6, "InputFormat has a new value" );
прямо вот так, с магической шестёркой. Когда добавится новая константа в enum, код перестанет компилироваться, пока программист явно не пройдёт все такие места, не поправит их (или просто не окинет взглядом, сломалось что-то или нет) и явно не поменяет шестёрку на семёрку у ассерта.
P.S.: Написал LAST_InputFormat, а не просто LAST, потому что enum, а не enum class. Тот же самый код для enum class:
enum class InputFormat
{
InputFormatScalar,
InputFormatSpectralReflectance,
InputFormatSpectralIlluminance,
InputFormatSpectralReflectanceWithAlpha,
InputFormatSpectralIlluminanceWithAlpha,
InputFormatEntity,
LAST = InputFormatEntity
};
static_assert( static_cast<int>( InputFormat::LAST ) == 6, "InputFormat has a new value" );
Коллекционирую лучшие C++ практики