mt-course
Оценивание (ИС)Оценивание (Тех.Зрение)Оценивание (КТ)
materials
materials
  • About
  • Для новичков
    • Основы C++
    • IDE/Compilers
    • Антипаттерны и способы улучшения кода
      • 0. Освобождение ресурсов
      • 1. Чтение данных из файла
      • 2. Открытие файлов
      • 3. Объявление переменных
      • 4. Выделение памяти
      • 5. Необдуманный код
      • 6. Глубокие if
      • 7. Длинные if
      • 8. Non-void функции
      • 9. Создание массивов
      • 10. Проверка формата файла
    • Git/GitHub
      • Git CLI
      • Git GUI
      • Git Web
      • Git в среде разработке
        • Visual Studio
        • CLion
        • Qt Creator
        • Visual Studio Code
      • CLion + GitHub
      • Работа с GitHub Actions
  • Настройки OpenMP/C++ threads
    • OpenMP
    • Сборка с OpenMP
    • C++ threads
  • Настройки CUDA и HIP
    • Установка CUDA SDK
    • Установка HIP SDK
    • Настройка проектов CUDA
    • Настройка проектов HIP
  • Настройки OpenCL
    • OpenCL
    • Проверка и установка платформы
    • Настройка проектов
    • Профилирование
      • Тестовый стенд
      • Профилирование через rcprof
      • Инструкция по профилированию в CodeXL
Powered by GitBook
On this page
  1. Для новичков

Антипаттерны и способы улучшения кода

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

  1. Массив массивов работает медленнее, чем двумерный массив или одномерный с индексацией как к двумерному.

  2. Выделение памяти также является медленной операцией и без необходимости не должно быть внутри циклов. Также не следует использовать динамическое выделение памяти когда достаточно небольшого статического массива, например, char buf[4].

  3. Проверять работоспособность нужно и в Release, и в Debug конфигурациях. Если в одной из них у вас программа отрабатывает корректно, а в другой падает, то это проблема, и нужно её исправлять.

Далее в примерах данного раздела приведены примеры проблемного кода и способы его улучшения.

PreviousIDE/CompilersNext0. Освобождение ресурсов

Last updated 11 months ago